Это выходные! Поздравляем. 🎉
Поскольку по выходным я ленив, я решил заняться более спокойным проектом кодирования, чем мой обычный анализ данных и 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.
Не финансовый совет. Вам следует обратиться к профессионалу, прежде чем принимать какие-либо финансовые решения.