Anonymat (2)

Avant de rendre public des dossiers sensibles, il arrive que certains organismes les « anonyment » en entier ou partiellement.

Dans le cadre de cet exercice, nous ne programmons qu'une version simpliste : « caviarder » un texte consiste à remplacer toutes les caractères alphabétiques situées dans une certaine plage d'indices par le caractère #.

Par exemple, pour le texte L'espion était J. Bond et les indices 15 (caractère J) et 21 (d) on obtient L'espion était #. ####.

On demande d'écrire la fonction caviarder qui prend en argument une chaîne de caractères texte, deux entiers debut et fin et renvoie le même texte caviardé entre les caractères d'indices debut et fin (inclus l'un et l'autre).

On garantit que debut est toujours inférieur ou égal à fin.

Selon l'usage informatique, le premier caractère de texte a pour indice 0. Ainsi le caractère d'indice 1 de "Hello" est "e".

Astuce

Si s est une chaîne de caractères, l'instruction s.isalpha() renvoie True si s n'est composée que de caractères alphabétiques.

Ainsi "é".isalpha() est évalué à True, "Bonjour !".isalpha() est évalué à False.

Exemples
>>> caviarder("L'espion était J. Bond", 15, 21)
"L'espion était #. ####"
>>> caviarder("Paul est un espion", 100, 200)
'Paul est un espion'
###(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
.1280135q/(»+0L=._a1ki o4m2:fedw,y]-cIrvps3[nP«g)ul;jSétx9Rbh867050y0x0X0m0p0S0J0q0E0S0m0J0J0j010X0p0I010406050J0R0t0t0m0G0B040V0r0S0R0}0r0M0q020m0t0I0T0q0!0x170G0c0R0x0J050d1416181a120I04051F1y1I0d1F120y0p0H0=0@0_0{0$0p0P0$0S1W0$0X10050-0#0S0x1R0^0`011V1X1Z1X0X1)1+1%0X0G1G0X0$0=1d0J0I0m0M0{0u011-1T010w0/0x0M1l0x1%23252a1/2d1+2g0t2i040a0q0N0G0r0I0r0J0p1g1i0+210G0G0x0E2D1y2k0M1G0d1 2P1|1~1}1(0y2m0{1Z0M2f2A1%1O1Q0?1.2Z0p2#0M0r2)1%0I2I1G2N2P2`13241i2+2b2:0G170S100q0n2M2~112}2l301/3234360u39253b2N2Y013g0m35040q0K3k2O123n3e0{3q3s0q0s3w3m2~3o3C360b3G3y3I3A3p0r333r360(3N3c2 1S3f3S3h3t0)3X3z3!3B3$3U3t0%3*3P3,3R3T3D0Z3=3d3@3K040n0h3G1J2^1y2)2S0y1~2X3Q0E2;2s0*1P1G2@0x2_3a434d0+4l3}2,010o100+0w433+4s0z364y3?4s0M0w100E0m0H0p180+0G4D4r2b0 040e4Q3Z4F100X0x0Y4!4W3o4T0A3G0q3Y3J4v0x0#1f4(3Q4*4,4.3Q0M102d0M4@3@4T0Q0v3N0q574-4z31102I140S0-0X4`5a1/0r100j5i4E2b0J2804021u0r0X0T5u0R5w0T56584{3@4u040w3S5o4R3f100p5L4X2b0r4B042.5Q3J0#5c250P0x514s4T4V1z4m5j3B5Z042p5(4S105+2|5.3p4Z4#4%5,3l5F5)100Q545D585E5{4}044J0G0m2K0x2I5X3Q5l045n602O595p5N044!4$5%6o4q5R1/4T0L5?6s5P6x625@040C67686q5M0{5H0p4x6x6N6z3B4:4=5h6T6H5k10025f0T6n2`6U4/5V6j3@6l6(5x6+3a6-4|4~5W6!5{5T10250y6:4Y6c186f4!6i6G6 100k6D6W5V0J3r0I0$0m7f015*666x066M7t6`3~5c1w0R5f0m6Z6,6#0{6l0g6^3l7v4s5r6%5v5x035z5B6L687E4t100x0:6w5`6r0{4T557r7u6M7V6b5d7z5g745S107H7=6s6d786h7!3a067s697$7W042I0X0R0G506~837.7y7A7C7 1y4o4k448k0d471y0X498p2V2Q0m1*8m471E6y3o2I0t0l0w0m0o0x0l0$0K101q1s1u1w0q7)2|1L3b1F0i0m0q5J0M2K0p1h4-8j764L4N6h8i4e3t0M000x0w0w2J871,0+0;1|250J5J3T2D0;8P0q140G0q0R2#0=6h0-2.1,0I0@5$0q0y002.1O0E1w0k0q8X0q0#0r0R0?1,058*928/4p9l0r2C9G8#971,8F0p2I97889d0R0Y0D0E0p7e8U8z0F0S0q1w0X0q0m0R0_0p0q2z9-8w9l000W0E0G9O1,9q1^9M1h8$8(2f9a0}1Z7i0M9)9b1,0m0I2@0r0E0$9h1e0;0O8Za02D2#0S1+0q0f8R1J3b2)3o1;1Y1!1$8A3Q2o2f2h102u0V9_0~9)0N0B1 1h434j6y2{4m8*7V5H4w7n5U4-7b8c4H8+4M0G4O7n5*7n6b6u5 7#6O7o104+8ba_6b0+6Ya/a{7_7g4 b2047q2`8157aY7x8789b4017M5t7O5ybl7n6l9Ya^6V5|040U9H8abr4)5^6Ca(a_bj7R7PbF5Ca}bs6Q6S7D6a6X4?bJ3o6=6)7I6p7-5ObhbT6@bh6bb6bR6k5U72b$4Ibo7da;5O7i0S7k7mbCbs7pbh5H7Y0J7~7JbX6cb}4~5Kb)7w6/b`bz04a|bN8cb.c84s705Vbx6_7-5:2f156h7Bc12O7Va:cb6{6t5~cuaD52640C0Q3X0daX1L458n4h128n0,0.0:04.