Sous-suite d'une chaîne de caractères

On appelle sous-suite d'une chaîne de caractères, une chaîne produite en enlevant zéro, un ou plusieurs caractères.

Par exemple, "AN", "API" et "LAPIN" sont des sous-suites de "LAPIN". Par contre, "APNI" et "LAPIN !" ne sont pas des sous-suites de "LAPIN".

Notez que la chaîne vide "" est une sous-suite de n'importe quelle autre chaîne de caractères.

Écrire la fonction est_sous_suite qui prend en paramètres deux chaînes de caractères chaine_1 et chaine_2 et renvoie le booléen indiquant si chaine_2 est bien une sous-suite de chaine_1.

Exemples
>>> est_sous_suite("LAPIN", "AN")
True
>>> est_sous_suite("LAPIN", "API")
True
>>> est_sous_suite("LAPIN", "LAPIN")
True
>>> est_sous_suite("LAPIN", "APNI")
False
>>> est_sous_suite("LAPIN", "LAPIN !")
False

###(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 : 10/10

.1280135[tf4)+2IrFjRT3,sao iug08m1]P6pnl7he=céy:v9(wq;S/b_dk050!0K0d0s0v0H0r0u0M0H0s0r0r0L010d0v0F010406050r0w0A0A0s0k0O040W0t0H0w0_0t0G0u020s0A0F0V0u0n0K130k0U0w0K0r050X101214160~0F041u1B051E0X1E1G1B0~0!0v0Q0.0:0=0@0J0v0x0J0H1U0J0d0|050)0Y0H0K1P0;0?011T1V1X1V0d1%1)1#0d0Y0t0!161$0k1C0d0J0.190r0F0s0G0@0i011+1R010e0+0K0G1h0K1#26282d1-2g1)2j0A2l040a0u0D0k0t0F0t0r0v1c1e0%240k0k0K0M2G1u2n0G1C0X222S0d201 210!2p0@1X0G2i2D1#1M1O0/1,2$0v2(0G1|1N1#0F2L1C2Q2S2}0 271e2.2e2?0k130H0|0u0B2P310}302o331-3537390i3c283e2Q2#013j0s38040u0p3n2R0~3q3h0@3t3v0u0f3z3p313r3F390b3J3B3L3D3s0t363u390E3Q3f321Q3i3V3k3w0I3!3C3%3E3)3X3w0z3-3S3/3U3W3G0R3^3g3`3N040B0y3J1D2{1u2,2V0!2Z3r0M1|2v0$1N1C2`0K2|3d464f0%4n402/010#0|0%0e463.4u0T394A3_4u0G0e0|1s0d0Z0r0t0w0r4N0w2F0K4F4t2e0{040S4W3$4H0|0M0J0*2(0Z3b1v4o4B4Y0|0q3J0u3#3M4)4+2;0K0Z3m4:3o4{3T4Z0g0P3Q0u5b4`4=1-4w040v4z532R5d4G340Y0|2s4$3r4Z4#5k4s4%344}4,50522 5e0@574_553`0t0|0L0L5I5F010A0v0|455w5J4u4Z595w065c5%5m4X5f0|2L0d0w0k0G5P5n5f0M0|0o0k1r5a5c5X5z040m5=5*0@5L045O5w5)5y1-5S5U5}5b5 5+040e3V636b3E4)6m3r0t4D5h5;696h6o044*5B4.5s560|5!2}5$5(6g5Q5g5i6q3T0G6p6w5Q665N6O415A4 516D3`4Z0c6#4(616)4?040C6G3d6I6J5%6x3s0|626S5?650|0h682}6a3r6d436f6?6K6}4v0|6N6|646_6+7e6n016U713d736P5p045r5W5Q5u6,3i6Y4-5D4;7a576:3o6=785(6^5g5-5/6v727J5^045`5|5#6@6L5,0(7M6W4u0#7Q0l3u0r4V5#1u4q4m477/0X4a1u0d4c7@2X2T1{1}2V0s1(7;4a1A5x3r2L0A0Z0e0s0#500J0p0|1m1o1q1s0u7E2R1D3e1B0j0H0u4L0u0s4Q2E0u2C0=0v810u2I2`0t0M0N0%0k8v0Q2M0u0w2(0u1{0w0/1*2?1e1{5:0N1*5!1K4i2-3`1/1W1Y1!853T2r2i2k0|2x0W0M0k0`0d2y0O221d464l5x2~4o7.8:3`5g4y7w0@6t4`7t7a4I4K0r4M4O4Q4S4U9d017v9h7f6Q6z4~4-4/5E7C4@7!606A6Z7A547u0|58776^9w0v9E1-6U9R0@755V6H7V9i6`9U7k5M9$9W9N7W040T1T1)9$9P9$66020H0d0V9;7q7s9B7f9t9 7j9w9G9z9r5H7i6r6t280!9;9#a93T9@9_9{ag419}2ia70|5va24|9x6B9I8n9K049M7U6?7J7c5j7O5Qa49y509A7Ba00|6(9ua37cap6.9?5M7m3o7o6Xau9HaTaPas6Pafa)6$0|6/77789Oa+7n6^66709)5T76aB6Ja=5haV04a`al4u75aL7F9Z7f7K7Y5:ae7haG7a7l9|5qaoaQ5taq9raIavaT0g3!0X987:2S83490(0*0,04.

###(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 : 10/10

.1280135[tf4)+2IrFjRT3,sao iug08m1]P6pnl7he=céy:v9(wq;S/b_dk050!0K0d0s0v0H0r0u0M0H0s0r0r0L010d0v0F010406050r0w0A0A0s0k0O040W0t0H0w0_0t0G0u020s0A0F0V0u0n0K130k0U0w0K0r050X101214160~0F041u1B051E0X1E1G1B0~0!0v0Q0.0:0=0@0J0v0x0J0H1U0J0d0|050)0Y0H0K1P0;0?011T1V1X1V0d1%1)1#0d0Y0t0!161$0k1C0d0J0.190r0F0s0G0@0i011+1R010e0+0K0G1h0K1#26282d1-2g1)2j0A2l040a0u0D0k0t0F0t0r0v1c1e0%240k0k0K0M2G1u2n0G1C0X222S0d201 210!2p0@1X0G2i2D1#1M1O0/1,2$0v2(0G1|1N1#0F2L1C2Q2S2}0 271e2.2e2?0k130H0|0u0B2P310}302o331-3537390i3c283e2Q2#013j0s38040u0p3n2R0~3q3h0@3t3v0u0f3z3p313r3F390b3J3B3L3D3s0t363u390E3Q3f321Q3i3V3k3w0I3!3C3%3E3)3X3w0z3-3S3/3U3W3G0R3^3g3`3N040B0y3J1D2{1u2,2V0!2Z3r0M1|2v0$1N1C2`0K2|3d464f0%4n402/010#0|0%0e463.4u0T394A3_4u0G0e0|1s0d0Z0r0t0w0r4N0w2F0K4F4t2e0{040S4W3$4H0|0M0J0*2(0Z3b1v4o4B4Y0|0q3J0u3#3M4)4+2;0K0Z3m4:3o4{3T4Z0g0P3Q0u5b4`4=1-4w040v4z532R5d4G340Y0|2s4$3r4Z4#5k4s4%344}4,50522 5e0@574_553`0t0|0L0L5I5F010A0v0|455w5J4u4Z595w065c5%5m4X5f0|2L0d0w0k0G5P5n5f0M0|0o0k1r5a5c5X5z040m5=5*0@5L045O5w5)5y1-5S5U5}5b5 5+040e3V636b3E4)6m3r0t4D5h5;696h6o044*5B4.5s560|5!2}5$5(6g5Q5g5i6q3T0G6p6w5Q665N6O415A4 516D3`4Z0c6#4(616)4?040C6G3d6I6J5%6x3s0|626S5?650|0h682}6a3r6d436f6?6K6}4v0|6N6|646_6+7e6n016U713d736P5p045r5W5Q5u6,3i6Y4-5D4;7a576:3o6=785(6^5g5-5/6v727J5^045`5|5#6@6L5,0(7M6W4u0#7Q0l3u0r4V5#1u4q4m477/0X4a1u0d4c7@2X2T1{1}2V0s1(7;4a1A5x3r2L0A0Z0e0s0#500J0p0|1m1o1q1s0u7E2R1D3e1B0j0H0u4L0u0s4Q2E0u2C0=0v810u2I2`0t0M0N0%0k8v0Q2M0u0w2(0u1{0w0/1*2?1e1{5:0N1*5!1K4i2-3`1/1W1Y1!853T2r2i2k0|2x0W0M0k0`0d2y0O221d464l5x2~4o7.8:3`5g4y7w0@6t4`7t7a4I4K0r4M4O4Q4S4U9d017v9h7f6Q6z4~4-4/5E7C4@7!606A6Z7A547u0|58776^9w0v9E1-6U9R0@755V6H7V9i6`9U7k5M9$9W9N7W040T1T1)9$9P9$66020H0d0V9;7q7s9B7f9t9 7j9w9G9z9r5H7i6r6t280!9;9#a93T9@9_9{ag419}2ia70|5va24|9x6B9I8n9K049M7U6?7J7c5j7O5Qa49y509A7Ba00|6(9ua37cap6.9?5M7m3o7o6Xau9HaTaPas6Pafa)6$0|6/77789Oa+7n6^66709)5T76aB6Ja=5haV04a`al4u75aL7F9Z7f7K7Y5:ae7haG7a7l9|5qaoaQ5taq9raIavaT0g3!0X987:2S83490(0*0,04.