Python:从其他函数输入函数的标志
我正在尝试创建一个基本的计算器,但有一个小问题我不太明白。当您按下数字按钮时,输入框将添加数字,直到您按下数学键,数字将重置。我无法计算的是,假设你在8中输入一个数字,然后按反键,输出将显示0.125,然后当你再次开始键入时,它将删除输出窗口中的所有内容。这是我拥有的但不起作用的东西Python:从其他函数输入函数的标志,python,Python,我正在尝试创建一个基本的计算器,但有一个小问题我不太明白。当您按下数字按钮时,输入框将添加数字,直到您按下数学键,数字将重置。我无法计算的是,假设你在8中输入一个数字,然后按反键,输出将显示0.125,然后当你再次开始键入时,它将删除输出窗口中的所有内容。这是我拥有的但不起作用的东西 def button_click(number): if Flag == True: e.delete(0,END) e.insert(0, str(number))
def button_click(number):
if Flag == True:
e.delete(0,END)
e.insert(0, str(number))
else:
Current = e.get()
e.delete(0,END)
e.insert(0, str(Current) + str(number))
global Flag
Flag = False
对于inv函数,和
def button_inv():
Current = float(e.get())
e.delete(0, END)
e.insert(0, 1/Current)
global Flag
Flag = True
有人有什么想法吗?谢谢。您放置的
全局标志是错误的,应该放在开头
def button_click(number):
global Flag
if Flag == True:
e.delete(0,END)
e.insert(0, str(number))
else:
Current = e.get()
e.delete(0,END)
e.insert(0, str(Current) + str(number))
Flag = False
及
并在代码开头声明Flag=False
。请修复第一个代码段的缩进。解释“不起作用”。发生了什么?我将得到错误UnboundLocalError:在assignmentHi之前引用的局部变量'Flag'!通常在获取异常时,发布完整的堆栈跟踪也是很有帮助的。这有助于了解异常发生在哪一行。你能把它添加到你的问题中吗?另外,我认为问题是你需要在你的函数开头加上“全局标志”。
def button_inv():
global Flag
Current = float(e.get())
e.delete(0, END)
e.insert(0, 1/Current)
Flag = True