Aller au contenu

Texte encadré

Exercice

Coder une fonction récursive encadre qui prend en paramètres une chaine de caractères texte et un entier positif n et qui renvoie le texte encadré n fois par des crochets [...].

Exemples

🐍 Console Python
>>> encadre('bonjour', 3)
'[[[bonjour]]]'
>>> encadre('à tous', 0)
'à tous'
Aide

Allez-vous utiliser print(un_truc) ou return un_truc ?

Mauvaise réponse
🐍 Script Python
def encadre(texte, n):
    """Renvoie un texte encadre n fois par des [...]"""
    if n == 0:
        print(texte, end="")
    else:
        print("[", end="")
        encadre(texte, n - 1)
        print("]", end="")
  • Cette solution semble correcte,
  • mais elle ne renvoie pas le texte, elle l'affiche !
Guide
🐍 Script Python
def encadre(texte, n):
    """Renvoie un texte encadre n fois par des [...]"""
    if ...:
        return ... + encadre(..., ...) + ...
    else:
        return ...
def encadre(texte, n):
"""Renvoie un texte encadre n fois par des [...]"""
...
# Tests
assert encadre('bonjour', 3) == '[[[bonjour]]]'
assert encadre('à tous', 0) == 'à tous'
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
###(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)
rounded
>>> 
 
x
x
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
.9888.128013y@- ;aks_v3hbP,e[61xARnfujcèm4.wS!2tl]+5éBVgroICd/0)p:i=(q050Y0r0L0h0(0M0j0f0C0M0h0j0j0)010L0(0$010406050j0A0E0E0h0U0c040I0V0M0A0 0V0y0f020h0E0$0g0f0x0r190U0+0A0r0j050Z16181a1c140$04051H1A1K0Z1H140Y0(0l0@0_0{0}0n0(0T0n0M1Y0n0L12050/0o0M0r1T0`0|011X1Z1#1Z0L1+1-1)0L0U1I0L0n1/1V010z0;0r0y1n0r010@1f0j0$0h0y0}0K1)2f2h231;261-290E2b040b0f0p0U0V0$0V0j0(1i1k0-2d0U0U0r0C2F1A2m0y1I0Z212R1~201 1*0Y2o0}1#0y282C1)1Q1S0^1:2#0(2%0y0V2+1)0$2K1I2P2R2|152g1k2-242=0U190M120u2O30132 2n321;3436120K3a2h3c2P2!013h0h37040m3l2Q143o3f0}3r3t0F3w3n303p3C120P3F3y3H3A3q0V353s120t3F1L2`1A2+2U0Y202Z3P0C2?2u0,1R1I2_0r2{3b3W3*0-3=3e1U1;0i120-0z3W3z3|0}0H120f423O443q0z12280C0h0Y2K493{2.0111040*4k314b0y120L0r0v4w4r3p4o0q3F48434m4u040y4A3P4o0#0%3M3d4s4m46040f4W481B3?4G240j0Y12014*1s0y0l0V0(1.0A1k4w4y1.4f4h2K0f1k0z4/0?2g0U0f0-0?0s0G580N4*013M4X4F4a4m3~040(414Z3m5f4l33124K5m2Q5o4S240V12020T0L0g4E4R3p0E0(120!4L4b4o4P5t135e5e5F3P5i2K0L0A0U5s2|5v3p0j0u12000s005E4#1;5y040O5.5g5q044`4i0r5L4m4o4q5P5T4t4v4x4z625/0}4C5@5p3g5r6c5w5:120e6g5G5I0439685^1;4N6l3P5;5?5P5$3P5(5*0N5-5P065S69015i0r0=5}6q6d6a125O2|6G5R4W635h125W5Y5!3b6z64044@676T1A3^3;3X6:0Z3!1A0L3$6^2X2S0h1,6=3!1G3`6h0}2K0E0k0z0h0i0r0k0n0m121s1u1w1y0f6S3?1N3c1H0w0l2L0f4=1.4 0y2M0(1j0f1w0(0f2K4-4/1.1-7F0Q160M0/0L0q0f7B0$0r1h0f7K760V0o0;0(0j0r530V0A7X000h0z260C0n7)0G1L3c2+3p1?1!1$1(733p2q282a122w0X1j0j1f1.0p0c211j3W3:732}3?6/813P0T4o5A5C8r0g8t4Y2~6I4I5{4j6O744n12618x6r0}0j2k04010w5c6y6X5x126x5#8R6e5`7y4{6N8H6P8E4p5~4$8L010R8P8$8D6b8Q6I5H123v8C4B120#6u4b6w8 4m8K4)0X8/4!8I8(4D8?998^043k8{4M8}4Q6I0T5;5+0s0w0s9r0R0N9u0X9u6E6-0Z8m6;2R711J040W0M4}000Q0/2E0f2g512C2D6 547w0:4|0C6L0h0f0h7s0C7X9!7s0U2D7B1h7$0j2h0L486/7|1$1^1%2l990y0o122_2:0L3W9A3+047^7o1P0.0:0=3p0Y2h0T7)123y171u1c0w1h4|9+9-1k2B0{0(9T0e480(0E0T9#7O0}0a2c3P0L0H1t0V0B5I0f0j0U0C1W1`0$0j0%0Z9A0Y0y0G0B4%6L1R0U0G2%0L0Z1Z0Z0B0-0C7b0Y2SaL0EaN0(0d0u0P0G0u0G0!0Z1:0.0j1B0l0T0Z0K0t0h0!0G0jbc2c0 0L1-0}0%0H1a0y2:0T0%010Z4V2Ba30f1~0D0?4w7=bu7j2Oam1E7`1R9_1@7 9}8%832s2u2w0I0C0U109?8d8f6$3m1J3Y2~629B6I5i408*1;4U8w988%0y4d8Y4g5|b@6Q8)9h6)6+8#b{8;129b8V8y6fc55 8}7m3m3N8%b_4Xc2014%4)4+284.4:7u4?664_8Z5|4}0f4 7%9O1a9U56580G5a4*5dcob;125k925_b*5u8W0}5;027O0g0)cU1;9e5Kcg245NcP6VcY6J6Z0.6#c)3B123*0y4w0y0Ac:6(6Y5`6Mcpc/6F6V6WcR046!5Zc`3q4ecB8B8:8|c4dl6A8,0s975nc=919cb|654^dgdvcd99948M5ad7cbdg4IcW4Vdu6jdg9e6pdo5M9j6F6.a79C3Z3.720S1a0(9=1.3*2J2L4w9#9%cx1.1Q7:0Q7G9YcE1jag2tc~3s1.5O1O050A0M3c1#8Y9U0n3R0?0Y7,4ged1.0o0`0r7R0M7.0$7U9I0U0Q0C5Y2D0z0f1y9?151~1j0T040_9U5Z0(0D4|2:0j1~0A7z8g1BeC0yeE9U9)d{7y2F9be814e87B0hep6L7K9Y1`1.bH0nbJ1x7l0fetb#4|7v4FeTeE7xeQ1keseu9,1Re:7)5H291-2Oe 04e#0(e7fhb(eb1k0y0028bD0(4|9P9O2z267Qey9?2%7X7w7)9!0B1n0:0jfgfi0419cG0Y7.aq7k0_eU0haiehfu0V0T0U1n192Fey4?fr289?2_0VfwfJe%fh4=2d1o0;0h4w5YbDf!0y0j4 351.3secfB2d2H0h1h0Vf$0(7jd~9?fp9^2Ed^f`5k7C0A7E7U7Wc}8a187)e~2zeU040o0rg93*0A0$fdgxeVa}eMeW0E0QgJ2Kf:05e89Y0C7Eeze_5X1Q0Qf(9O2C9?0R0w0Xa9e$1Ae53c6?ac0;0jg:0-9M0=bO2,4b4ha}buf%0o1j0A0jak1J3pg 1j2E7A0y0ebn1|040Rh41zaa9F2y2A2Cgve}g91~1.ashd7Lf52D7s0f0J7_146?3..