2014-09-19 18 views
-5

假設變量myString引用一個字符串,而變量reversedString引用一個空字符串。編寫一個循環,以相反的順序將myStringreversedString之間的字符相加。給我的代碼:ReversedString

我不知道這是什麼意思,對初學者有幫助嗎?這是非常讚賞!

謝謝大家回答!它給了我一個像我這樣的初學者的希望,那就是有人願意幫助別人!我絕不會要求直接回答,只是有人幫助我理解這個問題。我現在明白他們在問什麼!

+0

提示:你將如何扭轉一個字符串?在紙上寫下句子並將其翻轉。 – dbarnes 2014-09-19 18:24:25

+0

string ='我的字符串'>>>爲反​​向(字符串)索引:print(index)是他要求的嗎? – 2014-09-19 18:30:50

回答

0

這是要求你寫一個循環。循環應以相反的順序查看字符串的每個字符。如果你的字符串是​​,循環應該看到c,然後b,然後a。在循環內部,您應該將該字符放在reversedString變量的末尾。

+0

for _ in xrange(1):reversedString = myString [:: - 1] – marcadian 2014-09-20 00:21:08

+0

@marcadian:這沒有意義。你爲什麼使用循環進行一次迭代並忽略迭代變量? – recursive 2014-09-20 00:23:49

+0

感謝您花時間以更簡單的方式解釋,這對我幫助很大 – 2014-09-20 00:44:41

0

只是這樣做

reversedString = "" 
for c in reversed(myString): 
    reversedString += c 

最Python的方式來做到這一點壽是這樣的:

myString = myString[::-1] 
+0

謝謝,我承認第二個! – 2014-09-20 00:46:20

0

您可以使用堆棧:

>>>> s='String' 
>>>> stack=list(s) 
>>>> reversed=[] 
>>>> while stack: 
.... reversed.append(stack.pop()) 
.... 
>>>> reversed 
['g', 'n', 'i', 'r', 't', 'S'] 
>>>> rstring=''.join(reversed) 
>>>> rstring 
'gnirtS' 

您可以使用「 for'loop with relative indexing:

>>>> rstring='' 
>>>> for i in range(1,len(s)+1): 
.... rstring+=s[-i] 
.... 
>>>> rstring 
'gnirtS' 

或者遞歸:

>>>> def rrev(s): 
....  if s == "": 
....   return s 
....  else: 
....   return rrev(s[1:]) + s[0] 
.... 
>>>> rrev('String') 
'gnirtS' 

或者Pythonically:

>>>> s[::-1] 
'gnirtS' 
+0

非常感謝您的協助! – 2014-09-20 00:43:53