«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Создание приложения-викторины с использованием Python: пошаговое руководство

Создание приложения-викторины с использованием Python: пошаговое руководство

Опубликовано 8 ноября 2024 г.
Просматривать:120

Building a Quiz App Using Python: A Step-by-Step Guide

Вы когда-нибудь хотели создать собственное приложение-викторину? Это забавный проект, который поможет вам изучить программирование, а также сделает что-то полезное. В этом проекте мы рассмотрим, как создать простое приложение-викторину с вопросами с несколькими вариантами ответов, оценкой баллов, ограничениями по времени и различными темами.

Что будет делать наше приложение-викторина

Наше приложение-викторина позволит:

  1. Задавайте вопросы с несколькими вариантами ответов
  2. Следите за счетом
  3. Установите ограничение по времени для каждого вопроса
  4. Освещайте разные темы

Давайте разберем это шаг за шагом!

Я собираюсь использовать набор инструментов под названием Tkinter.

Первая настройка Tkinter для вашего приложения викторины

Tkinter — это стандартный набор инструментов GUI (графический интерфейс пользователя), который предустановлен в большинстве дистрибутивов Python. Однако иногда вам может потребоваться установить или настроить его отдельно. Вот пошаговое руководство, которое поможет правильно настроить Tkinter в вашей системе.

Для пользователей Windows

  1. Tkinter обычно поставляется с предустановленным Python в Windows. Чтобы проверить, установлено ли оно:

    • Открыть командную строку
    • Введите python -m tkinter и нажмите Enter
    • Если появится небольшое окно, Tkinter установлен и работает
  2. Если Tkinter не установлен:

    • Загрузите Python с официального сайта (https://www.python.org/downloads/)
    • Во время установки обязательно установите флажок «tcl/tk and IDLE»
    • Завершить установку

Для пользователей MacOS

  1. Tkinter обычно поставляется с предустановленным Python в macOS. Чтобы проверить:

    • Открыть терминал
    • Введите python -m tkinter и нажмите Enter
    • Если появится небольшое окно, Tkinter установлен и работает
  2. Если Tkinter не установлен:

    • Установите Homebrew, если вы еще этого не сделали (инструкции см. на https://brew.sh/)
    • В Терминале запустите: Brew install Python-tk

Для пользователей Linux

  1. Tkinter может быть не предустановлен во всех дистрибутивах Linux. Для установки:

    • Для Ubuntu или Debian: ```

    обновление sudo apt-get
    sudo apt-get установить python3-tk

   - For Fedora:
     ```


     sudo dnf install python3-tkinter


  • Для Arch Linux:

    
     sudo pacman -S tk
    
2. To verify the installation:
   - Open Terminal
   - Type `python -m tkinter` and press Enter
   - If a small window appears, Tkinter is installed and working

## Verifying Tkinter in Your Python Environment

After installation, you can verify Tkinter in your Python environment:

1. Open your Python interpreter (type `python` in your command line)
2. Try importing Tkinter:
   ```python


   import tkinter as tk


  1. Если ошибок не возникает, Tkinter успешно установлен

Шаг 1: Настройка нашего проекта

Сначала мы создадим новый файл Python с именем quiz_app.py. Мы будем использовать Python, потому что его легко освоить и в нем есть все необходимое для этого проекта.

Шаг 2. Создание вопросов

Начнем с создания списка вопросов. Каждый вопрос представляет собой словарь с текстом вопроса, вариантами ответов, правильным ответом и темой.

Вот как это можно настроить:


# List of questions
questions = [
    {
        "question": "What is the capital of France?",
        "choices": ["London", "Berlin", "Paris", "Madrid"],
        "correct_answer": "Paris",
        "topic": "Geography"
    },
    {
        "question": "Who painted the Mona Lisa?",
        "choices": ["Vincent van Gogh", "Leonardo da Vinci", "Pablo Picasso", "Claude Monet"],
        "correct_answer": "Leonardo da Vinci",
        "topic": "Art"
    },
    # Add more questions here...
]


Шаг 3. Создание функции теста

Теперь давайте создадим функцию, которая будет запускать наш тест:


import random
import time

def run_quiz(questions, time_limit=10):
    score = 0
    total_questions = len(questions)

    # Shuffle the questions to make the quiz more interesting
    random.shuffle(questions)

    for q in questions:
        print(f"\nTopic: {q['topic']}")
        print(q['question'])

        # Print answer choices
        for i, choice in enumerate(q['choices'], 1):
            print(f"{i}. {choice}")

        # Start the timer
        start_time = time.time()

        # Get user's answer
        while True:
            user_answer = input(f"\nYour answer (1-{len(q['choices'])}): ")
            if user_answer.isdigit() and 1  time_limit:
            print("Time's up!")
        else:
            # Check if the answer is correct
            if q['choices'][int(user_answer)-1] == q['correct_answer']:
                print("Correct!")
                score  = 1
            else:
                print(f"Sorry, the correct answer was: {q['correct_answer']}")

        print(f"Time taken: {time.time() - start_time:.2f} seconds")

    # Print final score
    print(f"\nQuiz complete! Your score: {score}/{total_questions}")

# Run the quiz
run_quiz(questions)


Давайте разберем, что делает этот код:

  1. Мы импортируем случайный модуль, чтобы перемешать наши вопросы и время, чтобы справиться с ограничением по времени.
  2. Наша функция run_quiz принимает список вопросов и дополнительный лимит времени (по умолчанию — 10 секунд).
  3. Мы перемешиваем вопросы, чтобы сделать каждый тест уникальным.
  4. По каждому вопросу:
    • Печатаем тему и вопрос.
    • Показываем варианты ответов.
    • Запускаем таймер.
    • Мы получаем ответ пользователя и проверяем его достоверность.
    • Проверяем, вышло ли время.
    • Если нет, мы проверяем, правильный ли ответ, и обновляем оценку.
    • Мы показываем, сколько времени потребовалось пользователю на ответ.
  5. В конце мы печатаем окончательную оценку.

Шаг 4. Запуск нашего приложения-викторины

Чтобы запустить наш тест, нам просто нужно вызвать функцию run_quiz с нашими вопросами:


if __name__ == "__main__":
    run_quiz(questions)


Эта строка гарантирует, что наш тест запустится только в том случае, если мы запускаем этот файл напрямую (а не импортируем его откуда-то еще).

Заключение

Поздравляем! Вы только что создали простое, но интересное приложение-викторину. Этот проект научит вас работать со списками и словарями, обрабатывать пользовательский ввод и управлять временем в Python. Продолжайте экспериментировать и добавлять новые функции, чтобы сделать ваше приложение для викторин еще более интересным!

Удачного программирования!

Заявление о выпуске Эта статья воспроизводится по адресу: https://dev.to/ratan_3511/building-a-quiz-app-using-python-a-step-by-guide-2j25?
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3