Вы можете практиковаться в программировании, создавая короткие проекты командной строки на Python. Один из проектов, который вы можете сделать, — это интерактивная викторина, где вы можете задавать пользователю различные вопросы.
Вопросы, которые вы можете задать, включают вопросы с несколькими вариантами ответов или вопросы, требующие письменных ответов. Вы также можете задавать вопросы с альтернативными правильными ответами. Вы даже можете заставить свою программу давать подсказки пользователю.
Как создать скрипт Python и добавить свой первый вопрос викторины
Создайте файл Python и добавьте свой первый вопрос. Если вы раньше не программировали на Python, существует множество курсов и ресурсов, где вы можете выучить Python бесплатно.
- Создайте новый текстовый файл с именем «InteractiveQuiz.py».
- Откройте файл с помощью любого текстового редактора и добавьте свой первый оператор печати, чтобы приветствовать пользователя в викторине.
Распечатать(«Здравствуйте, добро пожаловать на викторину по географии. Ответь на вопросы в качестве они представлены»).
- Задайте первый вопрос пользователю. Используйте функцию input(), чтобы дождаться ответа пользователя и сохранить его ввод в переменной «userInput».
Распечатать("Вопрос 1. Какой город является столицей Австралии?")
пользовательский ввод = ввод () - Добавьте условие, чтобы проверить, соответствует ли ввод пользователя правильному ответу. Если пользователь ответил правильно, отобразите ему «правильное» сообщение. Если нет, покажите правильный ответ.
если (userInput.lower() == "Канберра".ниже()):
распечатать("Это является правильный!")
еще:
print("Извините, правильный ответ является Канберра.") - Чтобы запустить тест и проверить, работает ли ваш вопрос, откройте командную строку и перейдите к местоположению вашего файла Python. Например, если вы сохранили свой файл в каталоге с именем Desktop, команда будет такой:
CD Рабочий стол
- Запустите команду python, чтобы выполнить тест.
питонИнтерактивная викторина.py
- Дайте ответ на вопрос викторины.
Как добавить несколько вопросов в викторину
Вы можете добавить несколько вопросов, повторив приведенный выше код. Однако это сделает ваш код излишне длинным и трудным для обновления. Вместо этого лучше хранить информацию о вопросе в объекте.
- В верхней части файла Python добавьте класс для хранения информации о вопросе викторины. Если вы еще этого не сделали, вы можете узнать больше о том, как создать класс в питоне.
учебный классВопрос:
деф__в этом__(я, текст вопроса, ответ):
себя.questionText = вопростекст
себя.ответ = ответдеф__repr__(себя):
возвращаться '{'+ self.questionText +', '+ сам.ответ +'}' - Под классом добавьте массив объектов вопросов. Эти объекты будут хранить текст вопроса, который викторина отображает пользователю, вместе с правильным ответом.
викторины = [
Вопрос("Вопрос 1. Какой город является столицей Австралии", "Канберра"),
Вопрос("Вопрос 2. Какой город является столицей Японии", "Токио"),
Вопрос("Вопрос 3. Сколько островов на Филиппинах", "7100")
] - Замените существующий оператор if и код пользовательского ввода. Вместо этого используйте цикл for для перебора массива quizQuestions. Для каждого вопроса отобразите вопрос и сравните ввод пользователя с правильным ответом.
на вопрос в викторинеВопросы:
печать (ф"{вопрос.questionText}?")
пользовательский ввод = ввод ()
если (userInput.lower() == question.answer.lower()):
распечатать("Это является правильный!")
еще:
print(f"Извините, правильный ответ является {вопрос ответ}.")
Как добавить вопросы с несколькими вариантами ответов
Вы можете расширить класс Question, чтобы разместить вопросы с несколькими вариантами ответов.
- Измените класс Question в верхней части файла. Добавьте необязательный атрибут с именем multipleChoiceOptions.
учебный классВопрос:
деф__в этом__(я, questionText, ответ, multipleChoiceOptions=None):
себя.questionText = вопростекст
себя.ответ = ответ
себя.multipleChoiceOptions = несколько вариантов выборадеф__repr__(себя):
возвращаться '{'+ self.questionText +', '+ сам.ответ +', '+ ул (self.multipleChoiceOptions) +'}' - Добавьте еще один вопрос в массив quizQuestions. Сохраните несколько вариантов ответа на вопрос.
викторины = [
Вопрос("Вопрос 1. Какой город является столицей Австралии", "Канберра"),
Вопрос("Вопрос 2. Какой город является столицей Японии", "Токио"),
Вопрос("Вопрос 3. Сколько островов на Филиппинах", "7100"),
Вопрос("Вопрос 4. Какая страна занимает большую часть суши", "б", ["а) Соединенные Штаты", "(б) Россия", "(с) Австралия", "(г) Антарктида"]),
] - Измените часть цикла for, которая отображает вопрос пользователю. Если для вопроса существуют варианты множественного выбора, отобразите их после вопроса и перед получением ввода пользователя.
на вопрос в викторинеВопросы:
если (question.multipleChoiceOptions! = Никто):
печать (ф"{вопрос.questionText}?")
завариантввопрос.multipleChoiceOptions:
Распечатать(вариант)
пользовательский ввод = ввод ()
еще:
печать (ф"{вопрос.questionText}?")
пользовательский ввод = ввод ()если (userInput.lower() == question.answer.lower()):
распечатать("Это является правильный!")
еще:
print(f"Извините, правильный ответ является {вопрос ответ}.")
Как добавить вопрос с альтернативными правильными ответами
Иногда встречаются вопросы, на которые пользователь может ввести часть ответа, но технически это все равно правильно.
Например, одним из вопросов викторины может быть «В каком полушарии находится Япония?». В этом случае пользователь может ввести «Север», «Северное полушарие» или «Северное полушарие» и все равно будет прав.
- Добавьте еще один необязательный атрибут в класс Question. Этот атрибут будет содержать любые возможные альтернативные правильные ответы, которые может ввести пользователь.
учебный классВопрос:
деф__в этом__(я, questionText, ответ, multiChoiceOptions=Нет, AlternateAnswers=Нет):
себя.questionText = вопростекст
себя.ответ = ответ
себя.multipleChoiceOptions = несколько вариантов выбора
себя.alternateAnswers = альтернативные ответыдеф__repr__(себя):
возвращаться '{'+ self.questionText +', '+ сам.ответ +', '+ ул (self.multipleChoiceOptions) +', '+ ул (self.alternateAnswers) +'}' - Добавьте еще один вопрос в массив quizQuestions. Добавьте «Северное полушарие» в качестве правильного ответа. Добавьте «север» и «север» в качестве альтернативных правильных ответов.
викторины = [
#...
Вопрос("Вопрос 5. В каком полушарии находится Япония", "Северное полушарие", [], ["к северу", "северный"]),
] - Добавьте еще одно условие в оператор if, которое проверяет, ввел ли пользователь альтернативный правильный ответ.
если (userInput.lower() == question.answer.lower()):
распечатать("Это является правильный!")
Элиф (вопрос.альтернативные ответы != Никтоа также userInput.нижний() в вопрос.альтернативные ответы):
распечатать("Это является правильный!")
еще:
print(f"Извините, правильный ответ является {вопрос ответ}.")
Как давать пользователю подсказки
Вы можете изменить сценарий, чтобы пользователь не мог перейти к следующему этапу, пока не ответит на текущий вопрос правильно. В этом случае добавьте переменную для подсчета того, сколько раз пользователь ввел неправильный ответ. После трех неверных догадок можно дать пользователю подсказку.
- Измените класс Question, чтобы использовать новый атрибут подсказки.
учебный классВопрос:
деф__в этом__(самостоятельно, questionText, ответ, подсказка = нет, MultipleChoiceOptions = нет, альтернативные ответы = нет):
себя.questionText = вопростекст
себя.ответ = ответ
себя.подсказка = подсказка
себя.multipleChoiceOptions = несколько вариантов выбора
себя.alternateAnswers = альтернативные ответыдеф__repr__(себя):
возвращаться '{'+ self.questionText +', '+ сам.ответ +', '+ подсказка +', '+ ул (self.multipleChoiceOptions) +', '+ ул (self.alternateAnswers) +'}' - Добавьте подсказки ко всем вопросам викторины.
викторины = [
Вопрос("Вопрос 1. Какой город является столицей Австралии", "Канберра", "Начинается с буквы С"),
Вопрос("Вопрос 2. Какой город является столицей Японии", "Токио", "Начинается с Т"),
Вопрос("Вопрос 3. Сколько островов на Филиппинах", "7100", "Число от 7000 до 8000"),
Вопрос("Вопрос 4. Какая страна занимает большую часть суши", "б", "Страна охватывает два континента", ["а) Соединенные Штаты", "(б) Россия", "(с) Австралия", "(г) Антарктида"]),
Вопрос("Вопрос 5. В каком полушарии находится Япония", "Северное полушарие", "Верхняя половина Земли", [], ["к северу", "северный"]),
] - Удалите операторы if, которые проверяют, правильно ли пользователь ответил на вопрос. Замените их циклом while. Цикл while будет продолжаться до тех пор, пока пользователь не даст правильный ответ. Внутри цикла while добавьте счетчик, который будет отображать подсказку, если пользователь трижды даст неправильный ответ.
на вопрос в викторинеВопросы:
если (question.multipleChoiceOptions! = Никто):
печать (ф"{вопрос.questionText}?")
завариантввопрос.multipleChoiceOptions:
Распечатать(вариант)
пользовательский ввод = ввод ()
еще:
печать (ф"{вопрос.questionText}?")
пользовательский ввод = ввод ()
количество = 0
пока (userInput.lower() != question.answer.lower()):
если (вопрос.альтернативные ответы != Никтоа также userInput.нижний() в вопрос.альтернативные ответы):
ломать;
количество = количество + 1
если (посчитать >= 3):
печать (ф"Подсказка: {вопрос.подсказка}.")
пользовательский ввод = ввод ()
еще:
распечатать("Это являетсянет правильный, пытаться опять таки.")
пользовательский ввод = ввод ()распечатать("Это является правильный!")
- Повторно запустите тест в командной строке с помощью команды python.
питонИнтерактивная викторина.py
- Ответьте на вопросы викторины.
Создание небольших приложений с использованием Python
Один из проектов, который вы можете сделать, изучая программирование на Python, — это интерактивная викторина. В викторине вы можете задавать различные типы вопросов пользователю.
Вы можете хранить информацию о вопросах викторины в объекте, чтобы предотвратить повторение кода для каждого вопроса.
Чтобы улучшить свои навыки в Python, рекомендуется практиковать различные упражнения и примеры. Вы можете взглянуть на другие примеры Python, которые могут помочь вам в изучении.