Écrivez un programme qui lit deux entiers sur l'entrée, et qui affiche le premier entier, entouré d'autant de paires de crochets [ et ], qu'indiqué par la valeur du deuxième nombre.
Votre programme doit impérativement utiliser une fonction récursive, et non une boucle.
entrée :
42 3
sortie :
[[[42]]]
entrée :
24 0
sortie :
24
def nb_encadré(nombre: int, nb_crochets: int) -> str: """Renvoie 'nombre' entouré de paires de crochets. La sortie est de type str. >>> exo(42, 3) '[[[42]]]' >>> exo(24, 0) '24' """ if nb_crochets == 0: return str(nombre) else: return "[" + nb_encadré(nombre, nb_crochets - 1) + "]" nombre, nb_crochets = map(int, input().split()) print(nb_encadré(nombre, nb_crochets))
str, avec :
str !str dans le return du cas de base nb_crochets == 0 serait une faute importante. La concaténation (+) dans le cas général générerait une erreur.