Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Виталий Лешнёв Ученик (158), на голосовании 4 месяца назад
нужно написать код который создаст 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()
Голосование за лучший ответ
Татьяна Просветленный (36374) 5 месяцев назад
В вашем коде есть несколько ошибок, которые нужно исправить:

Ошибка в импорте модуля tkinter.
Ошибки отступов в функциях.
В функции check_answer пропущены параметры для lambda.
 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()
Виталий ЛешнёвУченик (158) 5 месяцев назад
спасибо большое, выручили
Похожие вопросы