Aller au contenu

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
1
2
3
4
5
6
7
8
>>> noircir("", "*")
''
>>> noircir("L'espion était J. Bond", "▮")
"▮'▮▮▮▮▮▮ ▮▮▮▮▮ ▮. ▮▮▮▮"
>>> noircir("L'espion était J. Bond", "_")
"_'______ _____ _. ____"
>>> noircir(";-)", "â–®")
';-)'
###(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
.128013/p.:i+,vl4P)h=obk56uancgrtS_xef12w ym-s789(d3050S0E0A0v0f0j0N0J0x0j0v0N0N0o010A0f0c010406050N0u0L0L0v0z0K040B0p0j0u0.0p0w050b0^0`0|0~0?0c04051e171h0b1e0?0S0f0i0$0(0*0,0(0w0y0u0v0y0E0M0c0K0A0n150J0n0f0y0n0j1J0n0A0;050X0q0j0E1q0)0+011I1K1M1K0A1S1U1Q0A0z1f1E0$110N0c0v0w0,0H011W1s010F0Z0E0w0v0L0E1Q1=1@1|1Y1 1U22240;0a0J0l0z0p0c0p0N0f140w0J0V1:0z0z0E0x2p17270w1f0b1E2C1,1.1-1R0S291t0f0w212m1Q1n1p0%1X2M2O0w0p2S1Q0c2v1f2A2C2)0@1?2q2U1}2Y0z0{0j1Q0v1H2v0F0,030C0C0x2Z0E1M2X0p0M0G370;0G170v2*2-0=2,282/1Y2;2?2^2`0E2|012~3032342P370M1`040H3c3e1@3g2A2L013l0v2@1f2_0n2{2}2 310V3v2Y3x0T0;0T3C2z3f0?3G3j0,3J3L053N3P3r3R3u2N3w380k0;0k3!183$3h2.1r3k0p2=3K3n3O3p3Q3t3T3?3V380s0;0s3|2)3%2-3H3+463/3s3S334c36380t0;0t4i3~3(413*433m3M3o3q4q3=353x0O0;0O4z3E4k3i4C3I4E454G474I3;4b4L380P0;0P4Q2B4S402V4V443,3.483:4a4s4%0M0Q0;0Q4,2C2$0E2C2S2F0S1.2K3)014r2R1o1f532(3f3#3E054r5i280f0S0,2 2A3x0G3n5q5s4`3U4u390J2d0E5z4r5B5v1Q0b3d3 3H0r0;0V0F5k2B5O5b0I0;0J5U5o4/2:0F0;2Y0f0z0x5,5#5W4U0:040R5:4B4:0w0;0A0E0D5~5_4l5b5?0h5#5!5`2:5*0p5/3}5l691Y5?0m0e5#0?6e5V3G5y015t2-3x3z3-0J6q4#4{3@3y1{5F5H4K6B6v5M040J6L68634U5|042v0^0j0X0A675;4:0p0;0o6X6g0,0N3z01016l625p5r6r0C5u383X4G6y5A4t3W6D235G6=5I6}6^5L3d6M6N4T4:5Q040F436%6O5{0;0x0|0v2x0E2v7g7a1}0p5Y042N7q5%3k5}5 616n5$3H5?6k7D6m2+6p6;6s1@3x3_6`7M6|4|3_5E706F4$6B7Q3C78786Y1}7c0f5T7D797y3*7j7l7n7p7D7)1Y6!040d6/7:3I0;0f0N3K0c0n0v7 7F0;0R6j6.7_7L5z6@0M4f7R7Y6A4d8j6 248m5J4e766K7%8x7`7;6R0E6T6V7x3H7|0g6$7.8z81045+0z8e7K4l6{8i4w8l726G8o4w7W8r8X7Z8Z8v8x6L8L7c330N0E89640;7H4j898T6t384N8W6z8t0M4N8#719074928*8+7(6(8M6S0u6U0v6W8K9c8H8J2)7/4m7=0z7m5~7^8_8f8S7S8i4)8 7T6B4)948s979A3C7J5j8g6=8i4~9B734|4~9F8%8n5C9P7$6M8-0;2v0A0u0z169j7h6a8B8D9h8Q5j0b5n1i2%1756170A589}2I2D0v1T549{5f6m0V0X0Z0N04.