gpt4 book ai didi

python - 未绑定(bind)本地错误: local variable "tries" referenced before assignment

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:39 25 4
gpt4 key购买 nike

我对编程非常陌生,并且让自己陷入了困境。尝试编写一个简单的猜数字游戏,仍然很粗糙,但我收到一个错误,我不知道如何修复。

这是代码:

随机导入 猜测= 0 print "你必须猜一个 1 到 20 之间的随机数"

def main():
guessestaken = 0
number = random.randint(1,20)
guess = 0
while guess != number:

print ("Take a guess")
guess = input("Your guess: ")
guess = int(guess)
guessestaken = guessestaken + 1
if tries is None:
tries = 0
tries = tries + 1



if guess < number:
print "Too low, try again"

if guess > number:
print "Too high"


if guess is number:
print "Well done, you guessed the number in ", guessestaken, "guesses."


# if guess != number:

x = 1
while x is 1:
# if tries is 3: break
guessestaken = 0
main()

之后我收到此错误:UnboundLocalError:分配之前引用了局部变量“tries”,任何帮助将不胜感激。

最佳答案

您无法检查 undefined variable 是否None:

def main():
while True:
if tries is None:
tries = 0
tries = tries + 1

相反,您应该预先定义它

def main():
tries = 0

while True:
tries = tries + 1

您可以使用以下命令检查变量是否已定义

try:
tries
except NameError:
tries = 0

但是我绝对建议不要这样做。总有一种方法可以确保变量被定义,而不确定变量是否被定义的代码设计得很糟糕。

关于python - 未绑定(bind)本地错误: local variable "tries" referenced before assignment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37787794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com