Inside the function is where I am having the problem, I am trying to get it to delete the label so that it may then replace it with a shorter text. Here is the full code:
from tkinter import * import random main = Tk() main.title("Crack the Code") def check1(): entry = entry1var.get() if entry == num1: labelent1.destroy() labelent1 = Label(main, text="Correct!",fg="green").grid(row = 0, column = 3) elif entry > num1: labelent1.destroy() labelent1 = Label(main, text="Too Big",fg="red").grid(row = 0, column = 3) elif entry < num1: labelent1.destroy() labelent1 = Label(main, text="Too Small",fg="red").grid(row = 0, column = 3) global num1 global num2 global num3 num1 =str(random.randint(10,99)) num2 =str(random.randint(10,99)) num3 =str(random.randint(10,99)) mastercode = num1+num2+num3 entry1var = StringVar() entry2var = StringVar() entry3var = StringVar() number1 = Label(main, text="Number 1").grid(row = 0, column = 0) number2 = Label(main, text="Number 2").grid(row = 1, column = 0) number3 = Label(main, text="Number 3").grid(row = 2, column = 0) entry1 = Entry(main, textvariable=entry1var).grid(row=0,column=1) entry2 = Entry(main, textvariable=entry2var).grid(row=1,column=1) entry3 = Entry(main, textvariable=entry3var).grid(row=2,column=1) button1 = Button(main, text="Try Number",command=check1).grid(row=0,column=2) button2 = Button(main, text="Try Number").grid(row=1,column=2) button3 = Button(main, text="Try Number").grid(row=2,column=2) labelent1 = Label(main, text="Waiting for Input").grid(row = 0, column = 3) labelent2 = Label(main, text="Waiting for Input").grid(row = 1, column = 3) labelent3 = Label(main, text="Waiting for Input").grid(row = 2, column = 3) mastercodelabel= Label(main, text="Enter master code below:").grid(row=3,column=1) mastercodeentry= Entry(main).grid(row=4,column=1) mastercodebutton= Button(main,text="Enter").grid(row=4,column=2) #main.config(menu=menubar) main.mainloop() And this is the error displayed when clicking on button1: Exception in Tkinter callback Traceback (most recent call last): File "C:\Python33\lib\tkinter\__init__.py", line 1475, in __call__ return self.func(*args) File "C:/Users/User/Desktop/Programming/Tkinter/Tkinter.py", line 15, in check1 labelent1.destroy() UnboundLocalError: local variable 'labelent1' referenced before assignment Thanks, Lewis. -- https://mail.python.org/mailman/listinfo/python-list