«Создание викторины для повторной игры» — практический проект на Python для тех, кто знает основы языка и хочет создать игру в терминале. Вы напишете логику выбора вопросов из локального банка JSON, сохраните правильную связь ответов при перестановке вариантов и превратите ошибки текущего раунда в отдельную тренировку.
Две пошаговые лабораторные работы ведут от ответов на знакомые вопросы к сохранению и повторному использованию записей ответов. Одно самостоятельное задание применяет те же механизмы к новой викторине о природе. Каждая работа начинается со своих подготовленных файлов.
Чему вы научитесь
- Выбирать ограниченное число вопросов без повторений и перемешивать целые объекты вариантов, не изменяя банк.
- Сопоставлять показанные номера ответов со стабильными ID вариантов и сохранять связь с вопросом.
- Повторно запрашивать ввод после некорректного значения и завершать игру, не считая неотвеченный вопрос ошибкой.
- Сохранять отправленные пары ID вопроса и варианта в файл JSON с кодировкой UTF-8.
- Выбирать для новой тренировки только вопросы с неверными ответами, обрабатывать отсутствие ошибок и сохранять исходный банк и запись.
Для кого этот курс
Для изучающих Python, которые хотят объединить знакомые структуры данных и функции в интерактивную программу.
Предварительные требования: Функции, списки, словари, условия и циклы Python, а также базовая работа с терминалом и смена каталогов. Лабораторные работы объясняют JSON, операции с файлами, случайную выборку, проверку ввода и предоставленные параметры функций до их использования.
Учебная среда: WebIDE в браузере предоставляет редактор, терминал, Python, банки вопросов и каркас приложения. Вы реализуете пять функций в logic.py, сохраняя предоставленные движок отображения, программу командной строки и банки. Вопросы, подписи интерфейса и вывод программы остаются на английском.
Часто задаваемые вопросы
Нужно ли устанавливать программы или регистрироваться в сервисе викторин?
Локальная установка и внешняя учётная запись не нужны. Проект использует локальные файлы и стандартную библиотеку Python в подготовленной среде.
Я пишу всё приложение с нуля?
Нет. Вы реализуете выбор вопросов, перестановку вариантов, обработку ввода, сохранение ответов и отбор ошибок. Готовый движок показывает вопросы и обратную связь, а программа командной строки читает файлы и выводит итоговый счёт.
Чем отличается самостоятельное задание?
Вы используете изученные функции с другим банком вопросов о природе. Правильность должна зависеть от идентичности вопроса и варианта, даже если в разных вопросах повторяются текст или ID вариантов. Программа должна по-прежнему работать с исходным банком.
Можно ли закончить раньше или ответить на всё правильно?
Да. Ввод q до ответа оставляет вопрос незаписанным. Раунд без ошибок создаёт пустую тренировку. Новые пути для записей сохраняют прежние файлы.

