| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- 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()
|