Python:从其他函数输入函数的标志

Python:从其他函数输入函数的标志,python,Python,我正在尝试创建一个基本的计算器,但有一个小问题我不太明白。当您按下数字按钮时,输入框将添加数字,直到您按下数学键,数字将重置。我无法计算的是,假设你在8中输入一个数字,然后按反键,输出将显示0.125,然后当你再次开始键入时,它将删除输出窗口中的所有内容。这是我拥有的但不起作用的东西 def button_click(number): if Flag == True: e.delete(0,END) e.insert(0, str(number))

我正在尝试创建一个基本的计算器,但有一个小问题我不太明白。当您按下数字按钮时,输入框将添加数字,直到您按下数学键,数字将重置。我无法计算的是,假设你在8中输入一个数字,然后按反键,输出将显示0.125,然后当你再次开始键入时,它将删除输出窗口中的所有内容。这是我拥有的但不起作用的东西

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