Для создания программы викторины по истории, мы можем использовать Python. Приведу пример реализации такой программы с перечисленными функциональностями:
import random
# Список вопросов и вариантов ответов
questions = [
{
"question": "Когда началась Вторая мировая война?",
"options": ["1935", "1939", "1941", "1945"],
"answer": "1939"
},
{
"question": "Кто был первым президентом США?",
"options": ["Авраам Линкольн", "Джордж Вашингтон", "Томас Джефферсон", "Франклин Рузвельт"],
"answer": "Джордж Вашингтон"
},
{
"question": "Какое событие произошло в 1917 году в России?",
"options": ["Октябрьская революция", "Первая мировая война", "Гражданская война", "Неполное освобождение крестьян"],
"answer": "Октябрьская революция"
},
{
"question": "Кто написал 'Капитал'?",
"options": ["Фридрих Энгельс", "Карл Маркс", "Ленин", "Макс Вебер"],
"answer": "Карл Маркс"
},
{
"question": "Какой император завершил династию Романовых?",
"options": ["Николай I", "Николай II", "Александр III", "Пётр I"],
"answer": "Николай II"
},
{
"question": "Когда был подписан Treaty of Versailles?",
"options": ["1918", "1919", "1920", "1921"],
"answer": "1919"
},
{
"question": "Какое королевство стало первым на британских островах?",
"options": ["Мерсия", "Суссекс", "Уэссекс", "Кент"],
"answer": "Кент"
},
]
# Переменные для подсчета баллов
score = 0
total_questions = len(questions)
# Перемешиваем вопросы
random.shuffle(questions)
# Проходим по каждому вопросу
for question in questions:
print(question["question"])
# Выводим варианты ответов
for i, option in enumerate(question["options"], start=1):
print(f"{i}. {option}")
# Считываем ответ от пользователя
user_answer = input("Ваш ответ (введите номер варианта): ")
# Проверяем правильность ответа
try:
selected_option = int(user_answer)
if question["options"][selected_option - 1] == question["answer"]:
print("Правильно!")
score += 1
else:
print("Неправильно.")
except (ValueError, IndexError):
print("Некорректный ввод. Пожалуйста, введите номер варианта.")
# Выводим общий результат
print(f"\nВикторина завершена. Вы набрали {score} из {total_questions} правильных ответов.")
percentage = (score / total_questions) * 100
print(f"Процент правильных ответов: {percentage:.2f}%")
Как эта программа работает:
- Программа содержит список вопросов, каждый из которых имеет текст, несколько вариантов ответов и правильный ответ.
- Вопросы случайно перемешиваются для каждой игры.
- Пользователь последовательно видит вопрос и варианты ответа.
- После выбора ответа программа проверяет его корректность и начисляет баллы.
- По окончании викторины выводится количество правильных ответов и процент правильных ответов.
Как запустить:
- Скопируйте код в текстовый файл с расширением
.py (например, quiz.py).
- Убедитесь, что Python установлен на вашем компьютере.
- Откройте терминал или командную строку.
- Перейдите в директорию, где сохранён файл, и выполните команду
python quiz.py.
Вы можете настроить вопросы и варианты ответов по своему усмотрению!