Давайте создадим простое приложение-викторину

Программирование на Python для начинающих должно быть увлекательным. Как человек, который любит случайные викторины и игры, создание приложения-викторины для вечера викторины — это увлекательный и захватывающий способ узнать несколько интересных концепций в Python. Давайте посмотрим, что нужно для создания этого приложения.

Начало работы с программированием на Python для начинающих

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

Если вы еще не загрузили и не настроили свою IDE, это относительно просто. Большинство пользователей запускают Python на Windows или Linux, но есть также версия для Mac. Если вы не уверены, есть ли у вас Python в системе, вы можете проверить версию в командной строке. Номер версии скажет вам, есть ли у вас Python и какая версия языка установлена.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Я использую Python для Windows, и я уже предоставил подробную информацию о том, как настроить Python с моей IDE по выбору (Visual Studio). Для освежения памяти, вот шаги:

  • Установите Python для вашей операционной системы.
  • Установите IDE (в моем случае Visual Studio).
  • Проверьте версию, чтобы убедиться, что Python установлен правильно.
  • Начните новый проект.

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

Настройка нашей индивидуальной структуры вопросов

Поскольку это приложение для викторин, нам понадобится что-то для хранения наших вопросов и ответов. Для этого мы создадим пользовательскую структуру вопросов в следующем формате:

“вопрос”: <вставьте вопрос здесь>,
“параметры”: [<comma-separated list of strings>],
“correct_answer”: <строка из списка, соответствующая правильному ответу>

Для этого мы составим тестовый набор из пяти вопросов, порядок появления которых будет выбран случайным образом:

вопросы = [
    {
        “question”: “What is the capital of France?”,
        “options”: [“London”, “Berlin”, “Paris”, “Madrid”],
“correct_answer”: “Париж”
},
{
“вопрос”: “Какая планета известна как Красная планета?”,
“параметры”: [“Mars”, “Venus”, “Jupiter”, “Saturn”],
“correct_answer”: “Марс”
},
{
“вопрос”: “Какой химический символ у калия?”,
“параметры”: [“P”, “Po”, “K”, “Li”],
“correct_answer”: “К”
},
{
“вопрос”: “В каком году родился Авраам Линкольн?”,
“параметры”: [“1909”, “1811”, “1809”, “1776”],
“правильный_ответ”: “1809”
},
{
“вопрос”: “Каково географическое название тропического леса?”,
“параметры”: [“Taiga”, “Badlands”, “Selvas”, “Hardpan”],
“correct_answer”: “Селвас”
}
]

Такая структура называется словарем. Словари в любом языке программирования представляют собой наборы пар ключ-значение. Вы можете найти значение, связанное с определенным ключом, выполнив поиск этого ключа в словаре.

Нам также понадобится импортировать библиотеку случайных чисел, что позволит нам перемешивать массив вопросов. Для этого мы включим эту строку в начало нашего кода:

импорт случайный

Ключевое слово import позволяет нам «внести» любую нужную нам библиотеку. В этом случае мы импортируем библиотеку random, которая содержит полезные функции для рандомизации списков и массивов. Повторное использование кода, подобного этому, является одной из самых мощных частей Python. Если вам что-то нужно, то, вероятно, где-то есть библиотека с функцией, которую вы ищете.

Отображение вопроса и получение ответа

Теперь, когда мы определились с вопросами, которые будем задавать, нам нужно придумать, как показать эти вопросы пользователю и получить от него ответ. Для этого мы определим две функции:

def display_question(вопрос):
печать(вопрос[“question”])
для i, вариант в enumerate(вопрос[“options”]1):
print(f”{i}. {option}”)

определение get_user_answer():
в то время как Истина:
пытаться:
выбор = int(input(“Введите свой ответ (1-4): “))
если 1 <= выбор <= 4:
возврат выбора – 1
еще:
print(“Пожалуйста, введите число от 1 до 4.”)
за исключением ValueError:
print(“Неверный ввод. Введите число.”)

Давайте рассмотрим эти функции по отдельности и определим их назначение. Функция display_question() возьмет вопрос, выведет его на экран и напечатает варианты и числовое значение для каждого. Функция get_user_answer() соберет ответ пользователя и сравнит его с правильным ответом, определенным в вопросах, которые мы создали ранее.

Функция get_user_answer также выполнит некоторую базовую проверку ошибок. Если пользователь введет что-либо, кроме числа, или число выйдет за пределы вариантов, мы снова попросим его ввести ответ.

Разработка викторины

Теперь, когда у нас есть вопросы и способ подсказать ответы, нам нужно рандомизировать вопросы и позволить игроку ответить на каждый из них. Для этого мы разработаем функцию под названием run_quiz():

определение run_quiz():
оценка = 0
total_questions = len(вопросы)

случайный.перетасовка(вопросы)

для вопроса в вопросах:
display_question(вопрос)
выбор_пользователя = получить_ответ_пользователя()

если вопрос[“options”][user_choice] == вопрос[“correct_answer”]:
print(“Верно!”)
оценка += 1
еще:
print(f”Извините, это неверно. Правильный ответ: {вопрос[‘correct_answer’]}”)

печать()

print(f”Тест завершен! Вы набрали {score} из {total_questions}.” )
процент = (балл / общее_количество_вопросов) * 100
print(f”Ваш результат: {percentage:.2f}%”)

В этой функции мы определили переменную оценки, которую будем использовать для определения успеха игрока в нашей викторине. Далее вы заметите строку random.shuffle(questions), которая изменит порядок, в котором программа задает пользователю вопросы. Будет много совпадений, когда у нас будет всего пять таких вопросов. Однако, как только вы начнете включать десятки вопросов, скорее всего, не будет никакого способа предсказать, в каком порядке будут задаваться вопросы.

Цикл for проходит по каждому вопросу в нашем массиве, спрашивая и ожидая ответа. Если игрок отвечает на вопрос правильно, его счет увеличивается. Если он отвечает неправильно, ему предлагается правильный ответ, чтобы он мог выучить его в следующий раз. Когда мы заканчиваем викторину, программа выводит окончательный счет, на который пользователь ответил правильно, в виде процента от общего числа вопросов.

Создание игрового цикла

Все игры требуют игровой цикл. В этом случае наш основной игровой цикл будет нашей функцией main():

определение main():
в то время как Истина:
print(“Добро пожаловать в игру-викторину по Python!”)
запустить_викторину()

play_again = input(“Хотите сыграть еще раз? (да/нет): “).lower()
если play_again != 'да':
print(“Спасибо за игру! До свидания!”)
перерыв

если __name__ == “__main__”:
основной()

Эта функция инкапсулирует всю нашу викторину и спросит игрока, хочет ли он сыграть снова. Если нет, игра будет завершена. Если да, вопросы будут перетасованы и заданы снова.

Собираем все вместе

Мы можем запустить тест, как только напишем и сохраним весь наш код. В Visual Studio есть удобная кнопка «Run», которую я использую для запуска своей игры-викторины. Результаты впечатляют:

У нас даже есть исправления, если ответ неверный, и окончательный расчет баллов:

Игра в действии 2

Кажется, все работает так, как и ожидалось, так что нам не нужно исправлять никаких ошибок. Поздравляем с завершением вашего собственного проекта Python Quiz Game!

Обновления, улучшения и проблемы

Это простая игра-викторина; пять вопросов не так уж и захватывающи. Если вы хотите расширить проект, вот несколько задач, которые вы можете попробовать, они не слишком сложны, но сделают это более приятным опытом для игрока:

  • Увеличьте количество вопросов: чем больше вопросов, тем сложнее будет игра для игрока.
  • Выберите случайный поднабор вопросов: Вместо того, чтобы задавать все вопросы все время, выберите поднабор вопросов и задайте их. Это делает игру более реиграбельной, поскольку игрок не знает, какие вопросы он получит в следующий раз.
  • Разработайте более удобный интерфейс: терминал доступен для реализации новичками в программировании на Python, но создать настоящий пользовательский интерфейс гораздо проще, чем вы думаете.

Куда идти дальше

Если вы ищете более полное руководство по Python, вам следует ознакомиться с приложениями и веб-сайтами, которые помогают новым разработчикам. Одна из лучших вещей в программировании — это то, что вам не нужно следовать чьему-либо примеру. Вы можете просто учиться по ходу дела. Каждая вещь, которую вы узнаете, может быть использована в какой-то момент вашей карьеры.

Я загрузил полный код этой игры-викторины на GitHub, чтобы вы могли сверить его со своим собственным.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *