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