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]
.
>>> renverser('informatique')
'euqitamrofni'
>>> renverser('nsi')
'isn'
>>> renverser('')
''
def renverser(mot):bksl-nl ...bksl-nlbksl-nlbksl-nl# Testsbksl-nlrenverser('informatique') == 'euqitamrofni'bksl-nlrenverser('nsi') == 'isn'bksl-nlrenverser('') == ''bksl-nlbksl-nlbksl-nldef renverser(mot):bksl-nl tom = ''bksl-nl for caractere in mot:bksl-nl tom = caractere + tombksl-nl return tombksl-nlbksl-nlbksl-nl# Testsbksl-nlassert renverser('informatique') == 'euqitamrofni'bksl-nlassert renverser('nsi') == 'isn'bksl-nlassert renverser('') == ''bksl-nlbksl-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.
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
:
def renverser(mot):
return ''.join([mot[i] for i in range(len(mot)-1, -1, -1)])
Z