код ниже, что я ссылка от импорта TkinterИзменения отображения текста в виджете Tkinter этикеток на основе условия
root = Tk()
#Variables
answer = "Enter Answer"
data = ""
#Functions
def function():
data = e.get()
while data == "":
if data == 5:
answer = "Correct"
if data != 5:
answer = "Incorrect"
print(answer)
top = Label(root, text = "Test")
top.pack()
e = Entry(root)
e.pack()
e.focus_set()
b = Button(root, text = "Enter", command = function)
b.pack()
check = Label(root, text = answer)
check.pack()
mainloop()
Я не могу * обновить виджет метки (имя ' проверить'). Я хочу, чтобы иметь возможность обновлять его на основе проверки состояния, но я не могу заставить его работать. Я поместил «(ответ) печать» линию, чтобы проверить переменные, но я получаю ошибку:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
return self.func(*args)
File "G:/Portable Apps/Portable Python 3.2.5.1/Documents/TEST.py", line 22, in function
print(answer)
UnboundLocalError: local variable 'answer' referenced before assignment
Это происходит, когда я запускаю программу, введите значение, затем нажмите кнопку ввода.