Напишіть код проєкту з використанням написів, двох груп перемикачів і кнопки для проведення тестування з будь-якого шкільного предмету. Сформулюйте два питання та по 3-4 варіанти відповідей, одна з яких має бути вірною. Створіть процедуру для опрацювання події Click для кнопки, яка буде перевіряти стан перемикачів. Якщо обрано дві вірні відповіді, то з’явиться напис 'Відповідь вірна', якщо вибрана лише одна вірна відповідь - 'Відповідь часково вірна', інакше - 'Відповідь невірна'.
Ответы
Ответ:
from tkinter import *
class TestApp:
def __init__(self, root):
self.root = root
self.root.title("Тестування")
# Задання питань і варіантів відповідей
self.questions = ["Яка столиця України?", "Скільки планет у Сонячній системі?"]
self.answers = [["Київ", "Львів", "Одеса", "Харків"], ["8", "9", "10", "11"]]
self.correct_answers = [0, 2] # Індекси правильних відповідей
# Змінні для збереження вибраних відповідей
self.selected_answers = [IntVar() for _ in range(len(self.questions))]
# Створення елементів інтерфейсу
self.labels = [Label(root, text=question) for question in self.questions]
self.radiobuttons = [[Radiobutton(root, text=answer, variable=self.selected_answers[i], value=index)
for index, answer in enumerate(answers)]
for i, answers in enumerate(self.answers)]
self.test_button = Button(root, text="Перевірити", command=self.check_answers)
self.result_label = Label(root, text="")
# Розміщення елементів інтерфейсу
for i, label in enumerate(self.labels):
label.grid(row=i, column=0, sticky=W, padx=10, pady=5)
for j, radiobutton in enumerate(self.radiobuttons[i]):
radiobutton.grid(row=i, column=j+1, sticky=W, padx=10)
self.test_button.grid(row=len(self.questions), column=0, columnspan=5, pady=10)
self.result_label.grid(row=len(self.questions)+1, column=0, columnspan=5)
def check_answers(self):
correct_count = 0
for i, var in enumerate(self.selected_answers):
if var.get() == self.correct_answers[i]:
correct_count += 1
if correct_count == 2:
self.result_label.config(text="Відповідь вірна")
elif correct_count == 1:
self.result_label.config(text="Відповідь частково вірна")
else:
self.result_label.config(text="Відповідь невірна")
# Створення головного вікна програми
root = Tk()
# Створення екземпляру програми
app = TestApp(root)
# Запуск головного циклу програми
root.mainloop()
У цьому коді створюється вікно програми з двома питаннями і відповідями у вигляді перемикачів. Після вибору відповідей користувачем та натискання кнопки "Перевірити", відбувається перевірка обраних відповідей. Результат перевірки відображається в мітці result_label.
Ви можете змінити питання, варіанти відповідей та правильні відповіді, змінивши значення змінних questions, answers та correct_answers в коді.
Будь ласка, зверніть увагу, що для виконання цього коду потрібно мати встановлену бібліотеку tkinter, яка входить до стандартної бібліотеки Python.
Объяснение: