Inclusion de texte⚓︎

L'ADN peut être représenté par une chaine de caractères formée avec les lettres A, T, G, C.

  • Un brin est un petit morceau d'ADN, que l'on retrouve parfois dans
  • un gène qui est une grande séquence d'ADN.

La fonction est_inclus prend en paramètres deux chaines de caractères brin et gene et renvoie la réponse, un booléen, à la question « Retrouve-t-on brin inclus dans gene ? ».

Cette fonction utilise une fonction auxiliaire : correspond(motif, chaine, position) qui renvoie True si on retrouve motif exactement à partir de position dans chaine et False sinon.

Exemples
>>> correspond("AA", "AAGGTTCC", 4)
False
>>> correspond("AT", "ATGCATGC", 4)
True
>>> est_inclus("AATC", "GTACAAATCTTGCC")
True
>>> est_inclus("AGTC", "GTACAAATCTTGCC")
False
>>> est_inclus("AGTC", "GTACAAATCTTGCA")
False
>>> est_inclus("AGTC", "GTACAAATCTAGTC")
True

Compléter le code Python ci-dessous.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5
.128013[(lbsS]et-ph4rd;5!f1890uma"ov+Tw7g,_F/3=in 6k:)y 2Pc030j0c0d0u0J07090R0U070u09090I0v0d0J0f0v020L03090s0t0t0u0i0Q020a0w070s0.0w0K030G0^0`0|0~0?0f02031e171h0G1e0?0j0J0x0%0(0*0,0g0J0C0g071v0g0d0;030Y08070c1q0)0+0v1u1w1y1w0d1E1G1C0d0i1f0d0g0%11090f0u0K0,0S0v1I1s0v0n0!0c0K0u0t0c1C1#1%1+1K1.1G1;1?0;040R0T0i0w0f0w090J140K0R0W1Z0i0i0c0U2b171_0K1f0G1X2o1U1W1V1D0j1{0,1y0K1:281C1n1p0'1J2y0J2A0K0w2E1C0f2h1f2m2o2S0@1$2c2G1,2L0i0{070;0R0o2l2W0=2V1`2Y1K2!2$2'0S2*1%2,2m2x0v2;0u2%020R0H2^2n0?2{2/0,2~300R0h342`2W2|3a2'0l3e363g382}0w2#2 2'0M3l2-2X1r2:3q2=310B3v373y393A3s310p3E3n3G3p3r3b0q3M2.3O3i020o0r3T3x2H3P3B0o2)182+3m3U3$3W0o2@3*2_3,3#2Z3I300o333=353w3h3`0;0o3d3~3f3-3_3Q433k463@414a3X3u461i2Q172E2r0j1W2w3o0U2M1@1f4n1g4l2U4j4t0W2R3N3$0N0;0W0n3e0R403o0K0n0;4t2g0c1#150j3e4N3O0:02064Y3F3.0;0t0w0.4K4j4(1,4#0D4L4Z4)020U0g0Z2A4'4F4;0;4?464M4:2:0;27292k4/501K4#0P0O3l0R5j555d0,4H020J4.2S5l485702592a0J154@560,0w0;0y5B5m2}080;1~4 5u0,4#4%5c5O2}4*4,5q5N3^5e0;0P5H5T5E02000C0d0k5%5Z395K025M5S5/0v5Q5Y3h4R4|2J0c5{3o5f5h4d5k665t5^5o2h0d0s0i16544^1,0N0U0;0F2 0960655k6h1K5o0n3q5.5|5p6x3o0w0A0;2J6A3V5;0i1%0C6p2U5C5_0;5R6N5I0K5;5?6S5T5`5@6y4+4-614!5#5g5i675j6s5n6E5r2+686y4{4}6M2+6.6P02056'4_5x5b5s6|5(5G6g6O0K6E7051020b6G3$5(0m0I7g2Z5V6%6!620;6 7p3V7b7t3$4#0b642S0L6,6,6|6a0X6d6f746O6j6l6n6`3?667F0;6b7I7l6t6k020z0i0s7P350L4e3o5o4J7W394Q024U0d0E2J0'0s097c5!4$7{390;080i6F7w7d537K6T0;6L4~847|6*6q6-790;0Y0!1G0E8a7%31750;7k786T6V1:7~6}6R6{8h028n8x5f6+8g88028j078l8183875'8r7-5J5L8w8c5P6Q8x7a028N7J8A5I8F8f6?7*0;6v0i8S8!0J8S6C6E8%2_8+6H7T6K8o6|6Z6X5^8!8K8l8D8t8Q020e8:8i0Z8L0c0E8$8?5F8S0t0J438E5#7A3+7D8{4G6:9c4`3q2h4V0K4X8W8y8Z80828_2n90529x97922|4=9x8=9E638G9t9u6i7T7H6e8S7M7Z7#8o7C6r7L9!6c9$98697Y6m0#9*174C0c2o2P9|4m1o4o2r2u2p0u1F9 0G4n0?a90X9e0902.