Пишет: NameError: name 'число' is not defined, а так же line 1883, in __call__ return self.func(*args)

politelen

Новичок
Пользователь
Июн 14, 2020
3
0
1
Решил сделать программу, чтобы человек угадал какое число загадала программа, но когда я нажимаю кнопку "Равно" пишет(внизу программа и ошибка):
Версия Windows Python 3.7 import(tkinter, random)

Python:
from tkinter import *
from tkinter import messagebox
import random
root= Tk()
root.geometry("150x130")
root.title("Гадалка")
log_password0 = Entry(show ="*")
bt2 = Button(root, text = "Равно", width =8, background = "#999",foreground = "#ccc", font = ("Verdana", 16, "bold"), command = lambda: число())
log_log = Label(text = "Загаданное\nчисло")
log_password0.pack()
bt2.pack()
log_log.pack()
root.mainloop()

def число():
    number = random.randint(1, 50)
    if number == log_password0:
        messagebox.showinfo("Поздравляю", "Вы угадали!")
        messagebox.showinfo("Поздравляю", "Хотя и не выиграли никакого приза!")
    elif number > log_password0:
        messagebox.showerror("Ошибка!", "Загаданное число немного меньше!")
    else:
        print("Ошибка!", "Загаданное число немного больше!")

root.mainloop()
Ошибка:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\...", line 1883, in __call__return self.func(*args)
File "D:/python/...py", line 8, in <lambda>
bt2 = Button(root, text = "Равно", width =8, background = "#999",foreground = "#ccc", font = ("Verdana", 16, "bold"), command = lambda: число())
NameError: name 'число' is not defined

Версия Python 3.7 import(tkinter, random)
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вам нужно функцию определить выше этой строки:
Python:
bt2 = Button(root, text = "Равно", width =8, background = "#999",foreground = "#ccc", font = ("Verdana", 16, "bold"), command = lambda: число())
 
  • Мне нравится
Реакции: politelen

Форум IT Специалистов