web-dev-qa-db-fra.com

Comment inverser des mots en Python

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 :)

7
Vadim Kovrizhkin
>>> 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'
14
alecxe

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 .

3
wmgaca

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.

0
zedutchgandalf