Обсуждение участницы:Nerrdsy: различия между версиями

Обсуждение страницы Участница:Nerrdsy
Нет описания правки
(Полностью удалено содержимое страницы)
Метка: очистка
 
Строка 1: Строка 1:
import random


def run_quiz(questions):
    """
    Проводит интерактивный тест на основе предоставленных вопросов.
    Args:
        questions (list): Список словарей, где каждый словарь содержит:
            'question': Текст вопроса (str)
            'options': Список вариантов ответов (list of str)
            'answer': Правильный ответ (str)
    """
    score = 0
    random.shuffle(questions) # Перемешиваем вопросы для разнообразия
    print("Добро пожаловать в викторину!\n")
    for i, q_data in enumerate(questions):
        question = q_data['question']
        options = q_data['options']
        correct_answer = q_data['answer']
        print(f"Вопрос {i + 1}: {question}")
        # Перемешиваем варианты ответов для каждого вопроса
        shuffled_options = list(options)
        random.shuffle(shuffled_options)
        # Отображаем варианты ответов с буквами (A, B, C, D...)
        option_letters = {}
        for j, option in enumerate(shuffled_options):
            letter = chr(ord('A') + j) # Получаем буквы A, B, C...
            print(f" {letter}) {option}")
            option_letters[letter] = option
        while True:
            user_answer_letter = input("Ваш ответ (A, B, C...): ").upper()
            if user_answer_letter in option_letters:
                user_answer = option_letters[user_answer_letter]
                break
            else:
                print("Некорректный ввод. Пожалуйста, выберите букву из предложенных вариантов.")
        if user_answer == correct_answer:
            print("Правильно!\n")
            score += 1
        else:
            print(f"Неправильно. Правильный ответ: {correct_answer}\n")
    print(f"Викторина окончена! Ваш результат: {score} из {len(questions)}")
    percentage = (score / len(questions)) * 100 if questions else 0
    print(f"Процент правильных ответов: {percentage:.2f}%\n")
# --- Пример использования ---
# Список вопросов для теста
# Каждый вопрос - это словарь с ключами 'question', 'options', 'answer'
quiz_questions = [
    {
        'question': "Какая столица Франции?",
        'options': ["Берлин", "Мадрид", "Париж", "Рим"],
        'answer': "Париж"
    },
    {
        'question': "Сколько планет в Солнечной системе?",
        'options': ["7", "8", "9", "10"],
        'answer': "8"
    },
    {
        'question': "Какое химическое соединение имеет формулу H2O?",
        'options': ["Кислород", "Водород", "Вода", "Соль"],
        'answer': "Вода"
    },
    {
        'question': "Кто написал 'Война и мир'?",
        'options': ["Федор Достоевский", "Антон Чехов", "Иван Тургенев", "Лев Толстой"],
        'answer': "Лев Толстой"
    },
    {
        'question': "Сколько дней в високосном году?",
        'options': ["365", "366", "367", "360"],
        'answer': "366"
    }
]
if __name__ == "__main__":
    run_quiz(quiz_questions)

Текущая версия от 19:01, 18 октября 2025