我正在尝试创建一个初学者级别的程序,以便更好地理解python编程。一个简单的while true循环,它将值1加到X上,并根据x是否小于或大于10打印“帮助”或“正在做某事”;然后当x大于20时中断。我还尝试添加键盘中断,如果不是太复杂的话中断循环。任何提示都有帮助,我会得到一个错误
Traceback (most recent call last):
File "so.py", line 23, in <module>
help()
File "so.py", line 11, in help
x += 1
UnboundLocalError: local variable 'x' referenced before assignment代码:
import time
x = 1
try:
def help():
print("Help.")
time.sleep(2)
x += 1
def doStuff():
print("Doing Stuff")
time.sleep(2)
x += 1
while True:
if x < 10:
help()
elif x < 20 and x > 10:
doStuff()
else:
break
except KeyboardInterrupt:
exit()发布于 2018-09-21 05:09:38
问题就是错误消息所说的.一旦你知道如何解释这些单词。
def help():
print("Help.")
time.sleep(2)
x += 1您正在尝试更改变量x。这要求x必须已经有一个值。但是,除非您声明要引用函数外部的变量,否则不能更改全局变量。因此,Python期望您有一个本地变量x --但您并没有这样做。只需根据需要声明变量:
def help():
global x
print("Help.")
time.sleep(2)
x += 1现在,您的程序将打印Help. 10次,然后退出。
https://stackoverflow.com/questions/52433274
复制相似问题