import tkinter as tk from tkinter import ttk from tkinter import messagebox questions = { "Управление": { "question": "Что включает в себя управление автоматизированной системой (АС)?", "options": [ "Мониторинг и оптимизация производительности", "Обеспечение доступа и безопасности", "Обеспечение безопасности и доступа", "Все вышеперечисленное" ], "answer": "Все вышеперечисленное" }, "Тестирование": { "question": "Почему важно проводить тестирование автоматизированной системы?", "options": [ "Чтобы проверить работоспособность и исправить ошибки", "Чтобы снизить цену системы", "Чтобы увеличить количество пользователей", "Ничего не нужно" ], "answer": "Чтобы проверить работоспособность и исправить ошибки" }, "Эксплуатация": { "question": "Какие задачи входят в эксплуатацию автоматизированной системы?", "options": [ "Обеспечение бесперебойной работы", "Обновление и расширение", "Обучение пользователей", "Все перечисленное" ], "answer": "Все перечисленное" } } root = tk.Tk() root.title("Интерактивное обучение АС") root.geometry("600x400") selected_section = tk.StringVar() def start_quiz(section): for widget in frame_content.winfo_children(): widget.destroy() q_data = questions[section] question_label = ttk.Label(frame_content, text=q_data["question"], font=("Arial", 14)) question_label.pack(pady=10) var = tk.StringVar() for option in q_data["options"]: r = ttk.Radiobutton(frame_content, text=option, variable=var, value=option) r.pack(anchor='w', padx=20) def check_answer(): answer = var.get() if answer == q_data["answer"]: messagebox.showinfo("Верно", "Правильно! Молодец!") else: messagebox.showerror("Неправильно", f"Неправильно. Правильный ответ:\n{q_data['answer']}") submit_btn = ttk.Button(frame_content, text="Проверить ответ", command=check_answer) submit_btn.pack(pady=10) frame_top = ttk.Frame(root) frame_top.pack(pady=10) ttk.Label(frame_top, text="Выберите раздел для вопроса:", font=("Arial", 12)).pack() for section in questions.keys(): btn = ttk.Button(frame_top, text=section, command=lambda sec=section: start_quiz(sec)) btn.pack(side='left', padx=10) frame_content = ttk.Frame(root, relief="sunken", padding=10) frame_content.pack(fill='both', expand=True, padx=10, pady=10) root.mainloop()