Noircir un texte
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 : « noircir » un texte consiste à remplacer toutes les caractères alphabétiques par un caractère occultant, comme par exemple ▮
.
Le texte L'espion Ă©tait J. Bond
devient alors ▮'▮▮▮▮▮▮ ▮▮▮▮▮ ▮. ▮▮▮▮
.
On demande d'Ă©crire la fonction noircir
qui prend en argument une chaîne de caractères texte
ainsi que le caractère occultant noir
et renvoie le même texte « noirci » du début à la fin.
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
.
Attention
Python interdit de modifier les chaînes de caractères. Vous devez donc en créer une nouvelle.
Exemples
>>> noircir("", "*")
''
>>> noircir("L'espion Ă©tait J. Bond", "â–®")
"▮'▮▮▮▮▮▮ ▮▮▮▮▮ ▮. ▮▮▮▮"
>>> noircir("L'espion Ă©tait J. Bond", "_")
"_'______ _____ _. ____"
>>> noircir(";-)", "â–®")
';-)'
.128013kp;n+7=(32vxfah1:-tS6dmPq)c.u8_swl,4obiery5g9/ 050w0O0t0o0N0I0G0V0B0I0o0G0G0h010t0N0c010406050G0D0x0x0o0P0Q040u0L0I0D0:0L0e050U0`0|0~100^0c04051g191j0U1g0^0w0N0l0(0*0,0.0*0e0S0D0o0S0O0s0c0Q0t0p170V0p0N0S0p0I1L0p0t0?050Z0M0I0O1s0+0-011K1M1O1M0t1U1W1S0t0P1h1G0(130G0c0o0e0.0k011Y1u010n0#0O0e0o0x0O1S1@1_1~1!211W24260?0a0V0y0P0L0c0L0G0N160e0V0X1=0P0P0O0B2r19290e1h0U1G2E1.1:1/1T0w2b1v0N0e232o1S1p1r0)1Z2O2Q0e0L2U1S0c2x1h2C2E2+0_1^2s2W1 2!0P0}0I1S0o1J2x0n0.030F0F0B2#0O1O2Z0L0s0q390?0q190o2,2/0@2.2a2;1!2?2^2`2|0O2~01303234362R390s1|040k3e3g1_3i2C2N013n0o2_1h2{0p2}2 31330X3x2!3z0j0?0j3E2B3h0^3I3l0.3L3N053P3R3t3T3w2P3y3a0K0?0K3$1a3(3j2:1t3m0L2@3M3p3Q3r3S3v3V3^3X3a0R0?0R3~2+3)2/3J3-483;3u3U354e383a0v0?0v4k403*433,453o3O3q3s4s3@373z0g0?0g4B3G4m3k4E3K4G474I494K3?4d4N3a0E0?0E4S2D4U422X4X463.3:4a3=4c4u4)0s0T0?0T4.2E2(0O2E2U2H0w1:2M3+014t2T1q1h552*3h3%3G054t5k2a0N0w0.312C3z0q3p5s5u4|3W4w3b0V2f0O5B4t5D5x1S0U3f413J0b0?0X0n5m2D0V5Q5d0e0n0?2!0N0P0B5)5W5q4;1 0=040i5-5Z4W0e0?0t0O0m5|5@4D4=5;0J5-5Y612=5%0L5,3 5n671!5;0A0r5-0^6c2D5Q5A015v2/3z3B3/0V6o4%4}3_3A1}5H5J4M6z6t5O040V6J664n5!0?2x0`0I0Z0t655^4=0L0?0h6U6e0.0G3B020z0D0L0t0d6)6+6-6j604n6w0F5w3a3Z4I6^5K4v3Y6B255I6p5C706{5N3f6K6L4V4=5S040n456!6M5_0?0B0~0o2z0O2x7j7d1 0L0H0?2P7t5/3m5{5}5 6l5.3J5;6i7G6k2-3I6^6`0s3{6}5t756 4~3{5G736D4(6z7S3E7b7b6V1 7f0N5V7G7c7B3,7m7o7q7s7G7,1!6X040C6?7u7C040N0G3M0c0p0o827?015;0i6h6=7|7O7U6q1_3z4h7T7#6y4f0s4h7Z268r5L4g796I7*8D7}7@046P0D6R0o6T7;8F017 0f6Z8N6#3K696b4l8c6v8l6_6r4x5z8#7W6z4y8w746x8z0s4y2E7a8D7=5R0?350G0O8Z5d7J8i7N6@8#7Q4P8q7V6E8t4P8.8y770s987)8_7+8U5`8H0O6Q6S7A3J8Q8S2+8`6N047n0P7p5|7{8Y8j955B7Q4+998:9g4+9e9a7$8t9K3E7M5l8k9I8%4 8)9f4~509P9M9%8B9l7k7e6O0Y0D0P188T9.689o9q8L935l0U5p1k2)1958190t5aa62K2F0o1V56a45h6k0X0Z0#0G04.
# Tests
(insensible Ă la casse)(Ctrl+I)