我正在回答一個我無法回答的問題的步驟。第一部分是:使用while循環向後輸出輸入名稱
full_name = input('Enter your full name ')
第二部分是使用while
循環打印出了名的喜歡倒着從'John Finger'
到'regniF nhoJ'
。
它必須使用while
循環來完成,這對我來說有點奇怪,因爲沒有任何東西可以用while
循環展示出來。
我正在回答一個我無法回答的問題的步驟。第一部分是:使用while循環向後輸出輸入名稱
full_name = input('Enter your full name ')
第二部分是使用while
循環打印出了名的喜歡倒着從'John Finger'
到'regniF nhoJ'
。
它必須使用while
循環來完成,這對我來說有點奇怪,因爲沒有任何東西可以用while
循環展示出來。
reverse_name =""
i = len(full_name)
while i > 0:
reverse_name += full_name[i-1]
i -=1
這是通常的方式做到這一點:
print(full_name[::-1])
但是這可能是什麼意思:
full_name = input('Enter your full name ')
pos = len(full_name) - 1
while pos >= 0:
print(full_name[pos], end="")
pos -= 1
print()
有幾種不同的方式來做到這一點,這是一個標準的編程練習,可以在許多語言中工作(原則上)。這不是Pythonic。問題是爲每個字符創建一個新的字符串對象,效率不高。
import sys
name = 'John Finger'
index = len(name) - 1
while index >= 0:
sys.stdout.write(name[index])
index -= 1
你的'print'語句表示Python 2.因爲問題是使用'input()'而不是'raw_input()',那麼我認爲我們可以假設python 3. – cdarke
@cdarke修正爲2和3是正確的。 –
len
在建造函數獲取字符串長度。1
因爲字符串指數開始從0
while
循環與條件count greater then -1
。演示:
>>> full_name = "John Finger"
>>> result = ""
>>> count = len(full_name)
>>> print "lenght:", count
lenght: 11
>>> count -= 1
>>> while count>-1:
... result +=full_name[count]
... count -= 1
...
>>> result
'regniF nhoJ'
爲什麼它*必須*可以在while循環呢? – khajvah
這就是問題所在,而我對這部分完全無能爲力...... –
@khajvah這是研究python的一些任務,如果我猜測 – konart