Recherche de motif

Écrire une fonction recherche_motif qui prend en paramètre une chaîne de caractères motif non vide et une chaîne de caractères texte et qui renvoie la liste des positions de motif dans texte. Si motif n’apparaît pas, la fonction renvoie une liste vide.

Exemples

🐍 Script Python
>>> recherche_motif("ab", "")
[]
>>> recherche_motif("ab", "cdcdcdcd")
[]
>>> recherche_motif("ab", "abracadabra")
[0, 7]
>>> recherche_motif("ab", "abracadabraab")
[0, 7, 11]
Compléter le code ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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

.128013f06S:d=4-yr./oxpg2mcb1w937vej[ l,8+P5)ti]kn;ua(_sh050g0C0N0U0O0G0X0F0u0G0U0X0X0h010N0O0q010406050X0T0t0t0U0l0k040e0o0G0T0?0o0R050n0}0 11130{0q04051j1c1m0n1j0{0g0O0B0+0-0/0;0Y0O0r0Y0G1A0Y0N0_050$0v0G0C1v0.0:011z1B1D1B0N1J1L1H0N0l1k0N0Y0+160X0q0U0R0;0s011N1x010b0(0C0R0U0t0C1H1*1,1;1P1@1L1`1|0_0a0F0K0l0o0q0o0X0O190R0F0!1(0l0l0C0u2h1c1 0R1k0n1$2u1Z1#1!1I0g210;1D0R1_2e1H1s1u0,1O2E0O2G0R0o2K1H0q2n1k2s2u2Y0|1+2i2M1=2R0l100G0_0F0w2r2$0`2#202(1P2*2,2.0s2;1,2?2s2D012{0U2-040F0z2 2t0{322_0;35370F0i3b312$333h2.0L3l3d3n3f340o2+362.0d3s2@2%1w2`3x2|380A3C3e3F3g3H3z380I3L3u3N3w3y3i0y3T2^3V3p040w0c3!3E2N3W3I0w2:1d2=1n2W1c2K2x0g1#2C3v0u2S1}1k3`1l3^2!3=3005400!2X3U3-0Q0_0!0b3l3D330x2.4k3M3-0R0b0_2n0u0Y0C0l4w0C0W0t0o0?4j482t4l3v0^040V4p4e2)0_4D4F4O3#3-4L0H3l0F4J3$0_0N0C0p4(4U3,1=4L0M0f3s0F4?4!4q4Q040X16180O1a4Z4#3-0o0_0h514_1P4L0E0P4=4@524`0O574P1P5404564H385f1P0t0O0_3*5o064@4^5j0;4g040x1z1L5i4V5g5H4-5k0_020G0N0S5n2Y5z5I2`0v0_244,334L4N5o5q3g4%4)4+5(580;4/5K335l0j5=3v0R5X045Z5.5A015$5!5`4R4E0O4G2!5/610_4:5d5y4?5)340_0D5_3V5l5S2=5U5L0;5s5u6e6f6h5C5E1^6l4r6j6B1=5l5O5Q6E5W5Y1_633V625 5V5*044S676N4W6c6J0;0o4n041,0g6Z6i6T66683?6a5a6W4`6k6Q6r6b045c5o6q5?556o306~64044(4*0C6=590_0E796S6@69605l0J7d6+5h6^5#0_0P4;5w6f7t734$047f6p6h6n6*0R6D6}7A0_7j7F6a6t3(6v5y6x0_6V7J607D7x6*6n712t7v4r5|5~7g6R6`5%7(6_7U6U6.496:6c7r2Y5x7u7O6a7U4|172q7n3v5l0m7k7U0U0q0q1_6)816O0_7+6/7T7Q7k5;7s7u6h7U7m5T7G5m7C8i7S7)7i6*7L3;7^7{605C2n0N0T0l1b8v7-0_7~4~505w1c4b0C2u2V8T3_1t3{2x2A2v0U1K8W0n3`0{8*0#0%0)04.