Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Python import tkinter найдите ошибки

нужно написать код который создаст 4 кнопки, и 1 случайная будет правильной, соответственно при нажатии правильной кнопки будет выводиться текст "ты угадал" иначе "ты не угадал)
найдите ошибку

mport tkinter as tk
import random

def check_answer(btn_number):
if btn_number == correct_button:
result_label.config(text="Ты угадал!")
else:
result_label.config(text="Ты не угадал :(")

def place_buttons():
buttons = [btn1, btn2, btn3, btn4]
random.shuffle(buttons)
for i, btn in enumerate(buttons):
btn.grid(row=i+1, column=0, pady=5)

root = tk.Tk ()
root.title("Угадай кнопку")

correct_button = random.randint(0, 3)

btn1 = tk.Button(root, text="Кнопка 1", command=lambda: check_answer(0))
btn2 = tk.Button(root, text="Кнопка 2", command=lambda: check_answer(1))
btn3 = tk.Button(root, text="Кнопка 3", command=lambda: check_answer(2))
btn4 = tk.Button(root, text="Кнопка 4", command=lambda: check_answer(3))

result_label = tk.Label(root, text="Выбери правильную кнопку")
result_label.grid(row=0, column=0, pady=10)

place_buttons()

root.mainloop()

По дате
По рейтингу
Аватар пользователя
Просветленный

В вашем коде есть несколько ошибок, которые нужно исправить:

Ошибка в импорте модуля tkinter.
Ошибки отступов в функциях.
В функции check_answer пропущены параметры для lambda.

1234567891011121314151617181920212223242526272829303132
 import tkinter as tk  
import random  
 
def check_answer(btn_number):  
    if btn_number == correct_button:  
        result_label.config(text="Ты угадал!")  
    else:  
        result_label.config(text="Ты не угадал :(")  
 
def place_buttons():  
    buttons = [btn1, btn2, btn3, btn4]  
    random.shuffle(buttons)  
    for i, btn in enumerate(buttons):  
        btn.grid(row=i+1, column=0, pady=5)  
 
root = tk.Tk()  
root.title("Угадай кнопку")  
 
correct_button = random.randint(0, 3)  
 
btn1 = tk.Button(root, text="Кнопка 1", command=lambda: check_answer(0))  
btn2 = tk.Button(root, text="Кнопка 2", command=lambda: check_answer(1))  
btn3 = tk.Button(root, text="Кнопка 3", command=lambda: check_answer(2))  
btn4 = tk.Button(root, text="Кнопка 4", command=lambda: check_answer(3))  
 
result_label = tk.Label(root, text="Выбери правильную кнопку")  
result_label.grid(row=0, column=0, pady=10)  
 
place_buttons()  
 
root.mainloop()