def guess():
while True:
try:
guess = raw_input("Guess your letter")
if len(guess) != 1 or guess.isdigit() == True:
print "Please guess again"
if len(guess) == 1 and guess.isdigit() == False:
guessed.append = guess
return guess
break
except StandardError:
pass
print guess()
無論我在原始輸入中輸入什麼值,該循環都會不斷重複。爲什麼???Python:爲什麼我的while循環保持循環
可能是因爲'guessed.append = guess'產生了一個錯誤。不能確定,因爲你不告訴我們什麼'猜測'是 – Paul
其他人已經診斷你的問題了,但是可能值得注意的是你的'break'語句是無法訪問的(因此沒有價值)。 –
'try','except'語句經常隱藏真正的錯誤。你爲什麼使用一個?看起來你已經有了'if'語句的錯誤捕獲? – TehTris