Aller au contenu

Renverser une chaine⚓︎

Programmer une fonction renverser :

  • prenant en paramètre une chaine de caractères mot,

  • renvoyant une nouvelle chaine de caractères en inversant ceux de la chaine mot.

Contrainte

On s'interdit d'utiliser les fonctions reverse et reversed, ainsi que les tranches mot[::-1].

Exemples
🐍 Console Python
>>> renverser('informatique')
'euqitamrofni'
>>> renverser('nsi')
'isn'
>>> renverser('')
''
###
# Testsbksl-nlassert renverser("informatique") == "euqitamrofni"bksl-nlassert renverser("nsi") == "isn"bksl-nlassert renverser("") == ""bksl-nlbksl-nl# Tests supplémentairesbksl-nlassert renverser("abcde") == "edcba"bksl-nlassert renverser("159753") == "357951"bksl-nlassert renverser("a6b-[]") == "][-b6a"bksl-nlassert renverser("abc" py-str 20) == "cba" py-str 20bksl-nlbksl-nl 5/5

def renverser(mot):bksl-nl ...bksl-nlbksl-nlbksl-nl# Testsbksl-nlrenverser("informatique") == "euqitamrofni"bksl-nlrenverser("nsi") == "isn"bksl-nlrenverser("") == ""bksl-nlbksl-nldef renverser(mot):bksl-nl tom = ""bksl-nl for caractere in mot:bksl-nl tom = caractere + tombksl-nl return tombksl-nlbksl-nl

A

On crée tout d'abord une chaine vide destinée à contenir la chaine mot renversée. Ensuite, on ajoute chaque caractère de mot au début de tom.

Variante avec les indices⚓︎

On pouvait aussi parcourir les indices de la fin vers le début.

🐍 Script Python
def renverser(mot):
    tom = ''
    for i in range(len(mot)-1, -1, -1):
        tom = tom + mot[i]
    return tom

Variante fonctionnelle⚓︎

Avec une liste par compréhension et on utilise join :

🐍 Script Python
def renverser(mot):
    return ''.join([mot[i] for i in range(len(mot)-1, -1, -1)])

Z