Это выходные! Поздравляем. 🎉

Поскольку по выходным я ленив, я решил заняться более спокойным проектом кодирования, чем мой обычный анализ данных и SQL-запросы.

Создание базовой игры-викторины на Python — простой процесс, и его можно выполнить с использованием различных библиотек и фреймворков.

В этой статье мы покажем, как создать викторину, используя встроенные библиотеки Python, такие как requests и json.

Во-первых, мы начнем с импорта необходимых библиотек вверху нашего скрипта:

import json
import requests

Эти библиотеки позволят нам отправлять HTTP-запросы к API и анализировать ответы JSON.

Далее мы определим конечную точку API для простых вопросов и количество вопросов, которые мы хотим получить.

API_URL = "https://opentdb.com/api.php?amount=50&category=22"

Opentdb.com — это веб-сайт, на котором мы можем бесплатно создать до 50 викторин в различных категориях. В моем примере я использую только вопросы по географии. Нет проверки подлинности для получения вопросов.

Мы будем использовать библиотеку requests, чтобы сделать запрос GET к конечной точке API и получить викторины.

response = requests.get(API_URL)
data = json.loads(response.text)

Как только мы получим данные, мы извлечем вопросы и варианты из ответа JSON. Мы будем хранить вопросы и варианты в переменной с именем questions.

questions = data["results"]

Теперь, когда мы извлекли вопросы из ответа JSON, мы можем пройтись по списку questions и представить их пользователю. Затем пользователь может выбрать ответ, и программа проверит правильность ответа.

correct_answers = 0
for question in questions:
    print(question["question"])
    print("Options:")
    for i in range(len(question["incorrect_answers"])):
        print(f"{i+1}. {question['incorrect_answers'][i]}")
    print(f"{len(question['incorrect_answers'])+1}. {question['correct_answer']}")
    user_answer = int(input("Enter the number of your answer: "))
    if user_answer == len(question["incorrect_answers"]) + 1:
        print("Correct!")
        correct_answers += 1
    else:
        print("Incorrect.")

Наконец, мы можем отобразить для них оценку пользователя.

print(f"You got {correct_answers} out of {len(questions)} questions correct.")

Полученные результаты:

Есть много способов, которыми вы могли бы заняться таким проектом, например, добавить пользовательский интерфейс, уровни, расширенную систему подсчета очков и все, что только может придумать ваше воображение! Существует более высокая вероятность ошибок во время расширенной настройки API, например пользовательского интерфейса.

Заключение

  • Создание викторины на Python — относительно простой процесс, который можно выполнить с помощью встроенных библиотек, таких как requests и json.
  • Мы использовали простой API для получения вопросов и вариантов опроса.
  • Программа представляет каждый вопрос пользователю, принимает ввод для ответа и проверяет правильность ответа.
  • Программа отслеживает количество правильных ответов и отображает окончательную оценку пользователю.
  • Это базовый пример, и его можно настроить в соответствии с вашими потребностями, например, добавить дополнительные функции.

Спасибо за прочтение!

Ник

P.S. Найдите полный код здесь, на моем github.

Примечания:

Если вы хотите поддержать меня, подпишитесь на Medium и LinkedIn.

Не финансовый совет. Вам следует обратиться к профессионалу, прежде чем принимать какие-либо финансовые решения.