我是python的初学者,正试图使用Tkinter模块创建一个基本的GUI计算器。我的代码给了我一个错误UnboundLocalError:local变量“display”在赋值之前被引用,即使在代码的开头我已经给变量赋值了。这是我的密码,任何帮助都将得到感谢。在
display = ""
flag = 0
def set():
display = display + str(a)
if flag == 0:
calc1 = float(display)
elif flag == 1:
calc2 = float(display[len(str(calc1)) - 1:END])
label.config(text = display)
print (calc1)
print (calc2)
print (display)
def set0():
a=0
set()
# similar functions for values 1-9
set0()
问题似乎就在这里:
因为您没有将
display
声明为全局变量,所以这是一个局部变量。它没有初始化。我不能百分之百确定,因为您没有包含完整的错误消息,但是这一行肯定会引发致命错误。在您可以在没有声明的情况下引用全局变量,但不能更改其值。在
注意:在
set
函数中,a
也有一个定义问题:这里没有这样的变量。在相关问题 更多 >
编程相关推荐