Помогите пж с пайтон
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1892, in __call__
return self.func(*args)
File "C:\hello.py", line 17, in <lambda>
btn_Enter = Button(text="Ввести код!", bg="white", fg="black", command=lambda: soclose())
NameError: free variable 'soclose' referenced before assignment in enclosing scope
from tkinter import *
from tkinter import messagebox
window = Tk()
window.title("X-Z")
window.geometry('500x300')
def btn_click():
print("Код - hello_world3 ")
baba1 = Label(window, text="Зайди на рабочий стол и открой текстовый документ и там подсказка!", bg="blue", fg="red")
baba1.grid()
def btnv_click():
baba5 = Label(window, text="в программе код!", bg="white", fg="black")
baba5.grid()
baba6 = Entry(window, bg="white", fg="black")
baba6.grid()
global btn_Enter
btn_Enter = Button(text="Ввести код!", bg="white", fg="black", command=lambda: soclose())
btn_Enter.grid()
hello_world = hello_world3
def soclose():
if baba6.get() == hello_world:
baba8 = Label(window, text="как ты понял(а)? ладно нажми ниже!", bg="white", fg="black")
btn33 = Button(window, text="ТЫ ПРОШЕЛ(ШЛА)", bg="blue", fg="red", command=btn33_click)
else:
messagebox.showerror("Ошибка!")
btn = Button(window, text="Нажми что бы зарегаться!", bg="blue", fg="red", command=btn_click)
btnv = Button(window, text="Нажми что бы зарегаться!", bg="white", fg="white", command=btnv_click)
btnv.grid()
btn.grid()
window.mainloop()
Функция soclose объявлена после обращения к ней