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

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

.128013fd6nmi74=]3y_ 9pu08ts5[/v1b(jP)l;gow-ah:+rxS2cek,.050c0V0u0M0g0G0v0o0U0G0M0v0v0j010u0g0q010406050v0r0f0f0M0Q0m040S0J0G0r0?0J0e050y0}0 11130{0q04051j1c1m0y1j0{0c0g0z0+0-0/0;0-0e0I0r0M0I0V0L0q0m0u0N1a0o0N0g0I0N0G1O0N0u0_050$0B0G0V1v0.0:011N1P1R1P0u1X1Z1V0u0Q1k1J0+160v0q0M0e0;0T011#1x010b0(0V0e0M0f0V1V1`1|211%241Z27290_0a0o0E0Q0J0q0J0v0g190e0o0!1^0Q0Q0V0U2u1c2c0e1k0y1J2H1;1?1=1W0c2e1y0g0e262r1V1s1u0,1$2R2T0e0J2X1V0q2A1k2F2H2.0|1{2v2Z222%0Q100G1V0M1M2A0b0;030n0n0U2(0V1R2$0J0L0A3c0_0o0A1c0M2/2=0`2;2d2@1%2_2{2}2 0V3101333537392U3c0L1 040o0T3i3k1|3m2F2Q013r0M2|1k2~0N303234360!3B2%3D0l3f0l3J2E3l0{3N3p0;3Q3S053U3W3x3Y3A2S3C3d0i3f0i3+1d3-3n2?1w3q0J2`3R3t3V3v3X3z3!3}3$3d0w3f0w432.3.2=3O3=4d3_3y3Z384j3b3d0d3f0d4p453/483;4a3s3T3u3w4x3|3a3D0h3f0h4G3L4r3o4J3P4L4c4N4e4P3{4i4S3d0t3f0t4X2G4Z472!4$4b3?3^4f3`4h4z4.0L0p3f0p4?3M4s3:4{4M3@4O4g4y3#4B3c0s0_0A0s584^4t4%4}5f505h4A3D0A0A5m3h0y3j3,3L1n2,1c2X2K0c1?2P5b4y2W1t1k2+0V2-3l5F2G054y5W2d0g0c0;342F5y3t5(5*515i5-0o2i0V5:5w535A2H5E4I4`0W0_0!0b5Y5$4_220K3f66464t0b0_2A0U0N0V0Q6i0V0n0f0J0?65445G60220^040C6c6v3q0_6p6r6A5a4#6x0X660o6d5b0e0_0u0V0R6R6G4!4`6x0F0O660{6t5Z3N5/015+2=3D3F5e6*4,523~3E205^5`4R6@6/5D3G0o716N4#6P040v16180g1a6L734`0J0_0j7c6B0;6x0x0k6#6V2v6;0n5,3d3(4N7r5{6@3(5@285_6+5;5x7u1V6 71727j3P0_0g7i6H7e7g7Q6W220f0g0_5o6%3m7#6d7r7t0L407w5)7E7y4k7+6_7C6{4-6@7,3J7K6M7M62040K1N1Z7U686C047P7#7~7R227f04020G0u0H7h8a7d2^0B0_2h7p3O6x6z7%7M756R6T0V8r5b6Y853O8e0L8E6O8o048q8v8c1%8t8B746D6q0g6s2:7M6Y6!7#6$8X4s7)6-4l5.7.6=5=8+7B297^6?7;4m5~707}7L8O3;0_0D8I4#8e8k2.8b7V1%7X7Z7o8N5%8-7s8*0L4D7-8?8/9i7?8=7/6|7;9j7|8|8}980;808225924`75918l7M8e8g8i9C8n8p268R6X0_8u8%9x7N046E8V9P6w0_0F9L1%0J6a041|0c9%8 9W8U8W5X8Y0_0x9Z879F9T867k0_7n9G8~0194953l979~9V8y6U9da97l9`9/9|9?a38e0Pag9V899}8sa08!4q8r8)1|4T8,9l7G0L4U8;7D8.aB4U8`9v9v8m9{9.a47Ta29U9EaOalaO9a045Cauad0oaw0e3D4:9k9q7_7;4:aEaA53a*9uaL7 7O9=3La84t90aU7ga6a|aM3;8K8Maq8C9Ran759Xa{6(a38Z9caqa%3D55a+aG5355a:a,8@5jbma@aK9wa97577172Da#5b8e0Ybb0_0M0q0q269-bE6IbabP9D7Oan8D8#av9f7*5nazbs9mb#brbo6@b#aJaKb4aob004b22Ga}6ObUaRa9aVb|3OaXaZ45a#bk3d5zb$b+7;c7b*7F5|5}bwb:802A0u0r0Q1bb b`7678bDa!2:0y5#5H5V5J5S1c0u5McB2N2I0M1Ycy0y5K6$0!0$0(0v04.