Comment inverser des mots en Python?
Par exemple:
SomeArray=('Python is the best programming language')
i=''
for x in SomeArray:
#i dont know how to do it
print(i)
Le résultat doit être:
egaugnal gnimmargorp tseb eht si nohtyP
s'il vous plaît aider. Et expliquer.
PS:
Je ne peux pas utiliser [::-1]
. Je sais à ce sujet. Je dois le faire dans une interview, en utilisant uniquement des boucles :)
>>> s = 'Python is the best programming language'
>>> s[::-1]
'egaugnal gnimmargorp tseb eht si nohtyP'
UPD:
si vous avez besoin de le faire en boucle, vous pouvez utiliser range pour revenir en arrière:
>>> result = ""
>>> for i in xrange(len(s)-1, -1, -1):
... result += s[i]
...
>>> result
'egaugnal gnimmargorp tseb eht si nohtyP'
ou reversed()
:
>>> result = ""
>>> for i in reversed(s):
... result += i
...
>>> result
'egaugnal gnimmargorp tseb eht si nohtyP'
Utilisez la notation slice:
>>> string = "Hello world."
>>> reversed_string = string[::-1]
>>> print reversed_string
.dlrow olleH
Vous pouvez en savoir plus sur la tranche notatoin ici .
Une chaîne en Python est un tableau de caractères, il vous suffit donc de parcourir le tableau (chaîne) à l'envers. Vous pouvez facilement faire ceci comme ceci:
"Python is the best programming language"[::-1]
Ceci renverra "egaugnal gnimmargorp tseb eht si nohtyP"
.
[::-1]
parcourt un tableau de bout en bout, un caractère à la fois.