2013-09-18 2 views
4

Как отменить слова в Python?Как отменить слова в Python

Например:

SomeArray=('Python is the best programming language') 
i='' 
for x in SomeArray: 
     #i dont know how to do it 

print(i) 

Результат должен быть:

egaugnal gnimmargorp tseb eht si nohtyP 

пожалуйста, помогите. И объясните.
PS:
Я не могу использовать [::-1]. Я знаю об этом. Я должен сделать это в интервью, используя только петли :)

+1

Если вам удастся перехитрить интервьюера, притворившись, что вы знаете абсолютный базовый материал, где на самом деле вы этого не делаете, что произойдет, если вы получите работу и будете делать настоящую работу? – Matthias

+0

Ха-ха, я не сделал этого :) и вот почему я спросил тебя :) –

+1

@VadimKovrizhkin [Отменить строку в python, не используя 'reverseed' или' [:: - 1] '] (http://stackoverflow.com/questions/18686860/обращенно-а-строка-в-питон-без помощи-обращенно-или-1). –

ответ

14
>>> s = 'Python is the best programming language' 
>>> s[::-1] 
'egaugnal gnimmargorp tseb eht si nohtyP' 

UPD:

, если вам нужно сделать это в цикле, вы можете использовать диапазон идти в обратном направлении:

>>> result = "" 
>>> for i in xrange(len(s)-1, -1, -1): 
...  result += s[i] 
... 
>>> result 
'egaugnal gnimmargorp tseb eht si nohtyP' 

или reversed():

>>> result = "" 
>>> for i in reversed(s): 
...  result += i 
... 
>>> result 
'egaugnal gnimmargorp tseb eht si nohtyP' 
+1

Нет, я нет об этом [:: - 1] , но на собеседовании я должен был сделать это без [:: - 1] просто цикл. –

+0

Вы хотите логику обратного цикла? – Vivek

+0

@ ВадимКоврижкин проверить обновленный ответ, это то, что вы хотели? – alecxe

0

строка в Python является массив символов, так что вы просто должны пройти й e array (string) назад. Вы можете легко сделать это так:

"Python is the best programming language"[::-1] 

Это вернет "egaugnal gnimmargorp tseb eht si nohtyP".

[::-1] обходит массив от начала до конца, по одному символу за раз.

3

Используйте ломтика обозначения:

>>> string = "Hello world." 
>>> reversed_string = string[::-1] 
>>> print reversed_string 
.dlrow olleH 

Вы можете прочитать больше о срезе notatoin here.

Смежные вопросы