Можете да тренирате да се научите как да програмирате, като правите кратки проекти на командния ред в Python. Един от проектите, които можете да направите, е интерактивен тест, където можете да задавате на потребителя различни видове въпроси.

Въпросите, които можете да зададете, включват въпроси с избираем отговор или въпроси, които изискват писмен отговор. Можете също така да задавате въпроси, които имат алтернативни верни отговори. Можете дори да накарате вашата програма да дава съвети на потребителя.

Как да създадете скрипта на Python и да добавите първия си въпрос за тест

Създайте файл на Python и добавете първия си въпрос. Ако не сте кодирали в Python преди, има много курсове и ресурси, където можете научете Python безплатно.

  1. Създайте нов текстов файл, наречен "InteractiveQuiz.py".
  2. Отворете файла с помощта на произволен текстов редактор и добавете първото си изявление за печат, за да приветствате потребителя в теста.
    печат(„Здравейте, добре дошли в теста по география. Отговори на въпросите като те са представени.")
  3. instagram viewer
  4. Задайте първия въпрос на потребителя. Използвайте функцията input(), за да изчакате отговора на потребителя и да съхраните неговия вход в променливата "userInput".
    печат ("Въпрос 1. Кой град е столицата на Австралия?")
    userInput = input()
  5. Добавете условие, за да проверите дали въведеното от потребителя съвпада с правилния отговор. Ако потребителят е отговорил правилно, покажете му съобщение „правилно“. Ако не, покажете верния отговор.
    if (userInput.lower() == "Канбера".нисък()):
    print("Това е правилно!")
    друго:
    print("Съжалявам, правилният отговор е Канбера.")
  6. За да изпълните своя тест и да проверите дали вашият въпрос работи, отворете командния ред и отидете до местоположението на вашия Python файл. Например, ако сте съхранили файла си в директория с име Desktop, командата ще бъде:
    cd работен плот
  7. Изпълнете командата python, за да изпълните теста.
    питонИнтерактивен тест.py
  8. Дайте отговор на въпроса от теста.

Как да добавите няколко въпроса към теста

Можете да добавите няколко въпроса, като повторите кода по-горе. Това обаче ще направи кода ви ненужно дълъг и по-труден за актуализиране. За по-добър подход вместо това съхранявайте информация за въпроса в обект.

  1. В горната част на файла на Python добавете клас за съхраняване на информация относно въпрос от тест. Ако не сте правили това преди, можете да научите повече за това как създайте клас в Python.
    класВъпрос:
    деф__в него__(себе си, въпрос, текст, отговор):
    себе си.questionText = questionText
    себе си.answer = отговор

    деф__repr__(себе си):
    връщане '{'+ self.questionText +', '+ самостоятелен отговор +'}'

  2. Под класа добавете масив от въпросителни обекти. Тези обекти ще съхраняват текста на въпроса, който тестът показва на потребителя, заедно с правилния отговор.
    quizQuestions = [
    въпрос("Въпрос 1. Кой град е столица на Австралия", "Канбера"),
    въпрос("Въпрос 2. Кой град е столица на Япония", "Токио"),
    въпрос("Въпрос 3. Колко острова има Филипините", "7100")
    ]
  3. Заменете съществуващия оператор if и код за въвеждане от потребителя. Вместо това използвайте for цикъл, за да преминете през масива quizQuestions. За всеки въпрос покажете въпроса и сравнете въведеното от потребителя с правилния отговор.
    за въпрос в викторинаВъпроси:
    печат (f"{question.questionText}?")
    userInput = input()
    ако (userInput.lower() == question.answer.lower()):
    print("Това е правилно!")
    друго:
    печат (f"Съжалявам, правилният отговор е {въпрос отговор}.")

Как да добавите въпроси с множество избори

Можете да разширите класа "Въпроси", за да поберете въпроси с множествен избор.

  1. Променете класа Question в горната част на файла. Добавете незадължителен атрибут, наречен multipleChoiceOptions.
    класВъпрос:
    деф__в него__(self, questionText, answer, multipleChoiceOptions=Няма):
    себе си.questionText = questionText
    себе си.answer = отговор
    себе си.multipleChoiceOptions = multipleChoiceOptions

    деф__repr__(себе си):
    връщане '{'+ self.questionText +', '+ самостоятелен отговор +', '+ str (self.multipleChoiceOptions) +'}'

  2. Добавете още един въпрос към масива quizQuestions. Запазете няколко опции за избор за въпроса.
    quizQuestions = [
    въпрос("Въпрос 1. Кой град е столица на Австралия", "Канбера"),
    въпрос("Въпрос 2. Кой град е столица на Япония", "Токио"),
    въпрос("Въпрос 3. Колко острова има Филипините", "7100"),
    въпрос("Въпрос 4. Коя държава заема най-много земна маса", "b", ["(a) Съединени щати", "б) Русия", "в) Австралия", "(г) Антарктика"]),
    ]
  3. Променете частта от цикъла for, която показва въпроса на потребителя. Ако за въпроса съществуват опции с множество възможности за избор, покажете ги след въпроса и преди да извлечете въведеното от потребителя.
    за въпрос в викторинаВъпроси:
    ако (question.multipleChoiceOptions != Нито един):
    печат (f"{question.questionText}?")
    заопцияввъпрос.multipleChoiceOptions:
    печат(опция)
    userInput = input()
    друго:
    печат (f"{question.questionText}?")
    userInput = input()

    ако (userInput.lower() == question.answer.lower()):
    print("Това е правилно!")
    друго:
    печат (f"Съжалявам, правилният отговор е {въпрос отговор}.")

Как да добавите въпрос, който има алтернативни верни отговори

Понякога има въпроси, при които потребителят може да въведе част от отговора, но технически все още е правилен.

Например, един от въпросите във вашия тест може да бъде „В кое полукълбо се намира Япония?“. В този случай потребителят може да напише „Северно“, „Северно“ или „Северно полукълбо“ и пак да бъде правилен.

  1. Добавете още един незадължителен атрибут към класа Question. Този атрибут ще съдържа всички възможни алтернативни верни отговори, които потребителят може да въведе.
    класВъпрос:
    деф__в него__(self, questionText, answer, multipleChoiceOptions=Няма, alternateAnswers=Няма):
    себе си.questionText = questionText
    себе си.answer = отговор
    себе си.multipleChoiceOptions = multipleChoiceOptions
    себе си.alternateAnswers = алтернативни отговори

    деф__repr__(себе си):
    връщане '{'+ self.questionText +', '+ самостоятелен отговор +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Добавете още един въпрос към масива quizQuestions. Добавете „Северно полукълбо“ като правилен отговор. Добавете „север“ и „север“ като алтернативни верни отговори.
    quizQuestions = [
    #...
    въпрос("Въпрос 5. В кое полукълбо се намира Япония", "Северното полукълбо", [], ["север", "северен"]),
    ]
  3. Добавете друго условие към оператора if, което проверява дали потребителят е въвел алтернативен правилен отговор.
    ако (userInput.lower() == question.answer.lower()):
    print("Това е правилно!")
    елиф (question.alternateAnswers != Нито едини userInput.lower() в question.alternateAnswers):
    print("Това е правилно!")
    друго:
    печат (f"Съжалявам, правилният отговор е {въпрос отговор}.")

Как да дадете съвети на потребителя

Можете да модифицирате скрипта, така че потребителят да не може да премине към следващия етап, докато не получи правилно текущия въпрос. В този случай добавете променлива, за да преброите колко пъти потребителят е въвел грешен отговор. След три неправилни предположения можете да дадете намек на потребителя.

  1. Променете класа Question, за да използвате нов атрибут за подсказка.
    класВъпрос:
    деф__в него__(self, questionText, answer, hint=Няма, multipleChoiceOptions=Няма, alternateAnswers=Няма):
    себе си.questionText = questionText
    себе си.answer = отговор
    себе си.hint = намек
    себе си.multipleChoiceOptions = multipleChoiceOptions
    себе си.alternateAnswers = алтернативни отговори

    деф__repr__(себе си):
    връщане '{'+ self.questionText +', '+ самостоятелен отговор +', '+ self.hint +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Добавете подсказки към всички въпроси в теста.
    quizQuestions = [
    въпрос("Въпрос 1. Кой град е столица на Австралия", "Канбера", "Започва с C"),
    въпрос("Въпрос 2. Кой град е столица на Япония", "Токио", "Започва с Т"),
    въпрос("Въпрос 3. Колко острова има Филипините", "7100", "Число между 7000 и 8000"),
    въпрос("Въпрос 4. Коя държава заема най-много земна маса", "b", "Страната се простира на два континента", ["(a) Съединени щати", "б) Русия", "в) Австралия", "(г) Антарктика"]),
    въпрос("Въпрос 5. В кое полукълбо се намира Япония", "Северното полукълбо", "Горната половина на Земята", [], ["север", "северен"]),
    ]
  3. Премахнете изразите if, които проверяват дали потребителят е отговорил правилно на въпроса. Заменете ги с цикъл while. Цикълът while ще се повтаря непрекъснато, докато потребителят получи правилния отговор. Вътре в цикъла while добавете брой, който ще покаже подсказката, след като потребителят получи грешен отговор три пъти.
    за въпрос в викторинаВъпроси:
    ако (question.multipleChoiceOptions != Нито един):
    печат (f"{question.questionText}?")
    заопцияввъпрос.multipleChoiceOptions:
    печат(опция)
    userInput = input()
    друго:
    печат (f"{question.questionText}?")
    userInput = input()
    брой = 0
    докато (userInput.lower() != question.answer.lower()):
    ако (question.alternateAnswers != Нито едини userInput.lower() в question.alternateAnswers):
    прекъсвам;
    броене = броене + 1
    ако (брой >= 3):
    печат (f"Съвет: {question.hint}.")
    userInput = input()
    друго:
    print("Това ене правилно, опитвам отново.")
    userInput = input()

    print("Това е правилно!")

  4. Пуснете отново своя тест в командния ред, като използвате командата python.
    питонИнтерактивен тест.py
  5. Отговорете на въпроси към теста.

Създаване на малки приложения с помощта на Python

Един от проектите, които можете да направите, докато се учите как да кодирате в Python, е интерактивен тест. В теста можете да представяте различни видове въпроси на потребителя.

Можете да съхранявате информация за въпросите на теста в обект, за да ви попречи да повтаряте кода си за всеки въпрос.

За да подобрите уменията си в Python, добра идея е да практикувате различни упражнения и примери. Можете да разгледате други примери на Python, които могат да ви помогнат да научите.