É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.