我正在写一个小游戏,你会想到一个介于0到100之间的数字,计算机会尝试猜测它。以下是代码片段:
global
它抛出错误说:
UnboundLocalError:赋值前引用的局部变量'foo'
本网站上的其他帖子建议使用foo
。我做了,但仍然收到错误。为什么Python说x++
是一个局部变量,即使我已将其声明为全局变量?我如何摆脱这个错误?
答案 0 :(得分:2)
将global foo
从全局范围移到函数内部,如下所示:
import random
foo=input()
k=random.randint(0,100)
def f():
global foo
global k
if foo.lower()=='too low':
k=random.randint(k,100)
foo=input('The number that I guessed is' + ' ' + str(k) +'. Please give your comment.')
print(k)