Retournement d'une chaine⚓︎
Écrire une fonction récursive qui renvoie le retournement d'une chaine de caractères.
Indices
Si une chaine texte
est non vide :
texte[0]
correspond au premier caractère,texte[1:]
est une copie de la suite.
###
def retourne(texte):bksl-nl ...bksl-nlbksl-nlassert retourne('salut') == 'tulas'bksl-nlbksl-nl
Réponse
🐍 Script Python
def retourne(texte):
"""Renvoie une copie en miroir de `texte`"""
if len(texte) == 0:
return texte
else:
return retourne(texte[1:]) + texte[0]
assert retourne('salut') == 'tulas'
Les tranches ; mauvaises méthodes
Une copie de tranche avec texte[i:j]
est couteux ; il faut recopier chaque caractère.
Nous reprendrons ces exercices avec des fonctions récursives qui prendront deux paramètres i
et j
comme indices de travail.