[Python script][1]
似乎无法弄清楚我在这里做错了什么,由于某种原因似乎无法显示我的所有结果。这个想法是在猜测等于 0 时停止要求用户输入,但是当我尝试使用代码尝试修复它时,它给了我其他错误:(
答案 0 :(得分:2)
在你做的地方
guesses - 1
您将 guesses
的值减 1,但并未将结果分配给变量。您需要做的是:
guesses = guesses - 1
还有 a shorter way 来写同样的东西:
guesses -= 1
答案 1 :(得分:0)
变量减 1,但不保存新值。所以,正如@BioGeek 的回答,你必须更新你的变量。
答案 2 :(得分:0)
你把整件事都做错了“萌”。你写了
if guesses <= 2
这意味着即使猜测超过 -100 万或类似的数字,它也会继续下去,因为它少于 2。
guesses = 2
def ask():
ans = input("Enter the guess: ")
if ans == "Booga":
print("Correct")
return True
else:
global guesses
print("Incorrect")
guesses = guesses - 1
return False
while guesses != 0:
n = ask()
if n == True:
break
else:
pass
这是一个工作示例,您的代码非常错误,您的函数已经询问了两次,这使得 guesses 变量无用,另外,使用 global 关键字以便您可以访问 guesses 变量,您还需要构造 if以更好的方式陈述。我不知道当前的结构是否有效,因为它不是文本形式。检查猜测不为零,结束代码,如:
if guesses != 0:
#Do your thing
g = input("Guess: ")
if g == "Booga":
#Success
else:
#Do your thing accordingly
else:
print("Game over")