Suppression de doublons consécutifs
Exercice difficile
Coder une fonction récursive nettoie qui renvoie une copie de son paramètre texte où l'on a supprimé deux caractères consécutifs identiques, en répétant l'action si nécessaire.
Exemple
🐍 Console Python
>>> nettoie('bbcdaadz')
'cz'
En effet :
- on peut supprimer
'bb', ce qui donne'cdaadz' - on peut supprimer
'aa', ce qui donne'cddz' - on peut supprimer
'dd', ce qui donne'cz'
Quel que soit l'ordre de suppression des doublons, on arrive à 'cz'
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
.128013x/r;nbylaeu)d6z3Am(P+02è-],59fq!78 _o=pcwgv41kRIéhtsS[i:050n0k0Z0j0%0i0!0J0O0i0j0!0!0M010Z0%0N010406050!0l0s0s0j0d0h040#0L0i0l0|0L0f0J020j0s0N0e0J0V0k160d0F0l0k0!050c13151719110N04051E1x1H0c1E110n0%0R0;0?0^0`0Y0%0Q0Y0i1V0Y0Z0 050,0g0i0k1Q0@0_011U1W1Y1W0Z1(1*1$0Z0d1F0Z0Y1,1S010E0.0k0f1k0k010;1c0!0N0j0f0`0x1$2c2e201.231*260s28040a0J0u0d0L0N0L0!0%1f1h0*2a0d0d0k0O2C1x2j0f1F0c1~2O1{1}1|1%0n2l0`1Y0f252z1$1N1P0=1-2Y0%2!0f0L2(1$0N2H1F2M2O2_122d1h2*212/0d160i0 0J0T2L2}102|2k2 1.3133350x382e3a2M2X013f0j34040J0q3j2N113m3d0`3p3r0J0S3v3l2}3n3B350C3F3x3H3z3o0L323q350o3M3b2~1R3e3R3g3s0H3W3y3Z3A3#3T3s0I3)3O3+3Q3S3C0D3;3c3?3J040T0w3{3Y2+3@3$0T371y393N3|443~0T3i493k4b43303-3r0T3u4h2N1I2@1x2(2R0n1}2W3P0O2:2r0)1O1F2?0k2^393F054B0*4J4c210U0 0*0E4L3*440P354W3=4d0E0 2!1@0L0%0k4#4Q1.0~040t4/4k3e0 0Z0k0b4|4^3n4=0m0(423n4Z3s0J59503P0!0n0 015g1p0f0R4,1+1*0J4|4~1+4*0Z0L0h0X0J131O2e0Z0J0?0J0d0y0Q5n0n1g0f0X285g3M595a4X4R0 0%4V4q3s3X3I0g0 2o5b3?4=4@5X5Z3P0f4{4}4 5,5S4;0 0m3F0J5-3?0L0 020i0Z0e5{5}440s0%0 4g2{5@0`4=545X065Q6j5|6d014S042H0Z0l0d0f656m5/045p5=2_6i5Q665T040k1Y5W2_6l4$305:5q5(444=0$6Q21680 415?6M5^040A6v6!0`5 040M0M6(4:3A6O6A4K6m6S6U1.6W3 6`6e0 0A6g6B6k6D6m6o6q6s6u5X6L6:3o4)0+5t4-6~015*7j6x6z4.6Z7d6_7q4_0`6|6b6@6)7k0 0(0A5`6h6j6E1.6o6H0!7p6c7z6f5P747c7u010O0T0 030J0W0i0J0h0J0j0J0*0l0b0;170j2J0y2H0:1N0!0|0f2J0:0j0l7*0X0g1e7Q747H6;045y6?3k7S3n6+6.7b867e045s5l7j7l7t3I6=7M7y7r0 6T8o3P6|487N8t047C7E737R8h6o5V6/7T0f5#045%8w5)0 5+8A8L0 898r3k8h528K8d600Q638$8x69046Y6K8h0L572e0n8+3}8q8m8u7j6|8/8s7T4=6%8g6m8e8f8:6w8W0l2B8Y4r6^8}8Q678-908Z9g6$724a7R6k8H0 786t8_4d9b9d8|048v8U3n8y9B7C849s760 7K9e4P927B9J9r9t6p0+799x6N6y5;9O8!9h9E8,6X9B94997z6+0v9Y4`889c8a3w1x4N4I4s9}0c4v1x0Z4xa22U2P0j1)9 4v1D9P3n2H0s0K0E0j0U0k0K0Y0q0 1p1r1t1v0J9p8Z1K3a0l0i3a1Y040r260i0h7L0p5o0d2e1t0.1*2q0f5B0O7g1+0!1c1e0%1g0B0J0N1d2A0k6s0:0E4,0:0Ga:1xaC11aC0r1@175J0f0!0z2/0l0:258X5x6s5C7)1=2!b55zaR1+54azaB0%1F9|3n1:1X1Z1#ad3P8I6J398c5.8N8P9)8R4?7m9z9_bqbA8Ebu8;8(8*957z8 9=6*8?0f8^bM7d7n9#9B9D919F9k9,bP0197b(6x8XbY8~b$9i2193av4r0c9|2Oa?05aC0.7$7(0J0lba0X0R3q0l0j2Ca$171v7Lb11+0n7 4M4C048@9{ck0Ba=bia@bi2A5|bk3Pbm1=1!2i7z8M5$259B8Tb!5.bD9$9nbH8bbJ04028)64bU7TbO5,b_ck0J1v5Bai7,a#5Db4chcvckcmcY4O0J0f00c#cb0:4|7_5M0J0t0Oc@7_0J2-aY1*0ma#0+7(0l0Oc31+0k2Ga*0dc=d15B2?0L5k1tc}0j0R2Ic-2Ecx1Zczbp8hb,9^cL7O9(cI3?cWbz6R704Lc:4Ic~2y6s0,aRdu4Ib-dN3sc^0R0%0*0m0Ja:0Gcq3a0cbg110cb|a^aFaH0kaJ254B2H0;aU5xaXcad)d+d/d.4u0+0-0/04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)