Du kan øve dig i at lære at programmere ved at lave korte kommandolinjeprojekter i Python. Et af de projekter, du kan lave, er en interaktiv quiz, hvor du kan stille brugeren forskellige slags spørgsmål.

Spørgsmål, du kan stille, omfatter multiple choice-spørgsmål eller spørgsmål, der kræver skriftlige svar. Du kan også stille spørgsmål, der har alternative rigtige svar. Du kan endda få dit program til at give hints til brugeren.

Sådan opretter du Python-scriptet og tilføjer dit første quizspørgsmål

Opret en Python-fil og tilføj dit første spørgsmål. Hvis du ikke har kodet i Python før, er der mange kurser og ressourcer derude, hvor du kan lære Python gratis.

  1. Opret en ny tekstfil kaldet "InteractiveQuiz.py".
  2. Åbn filen ved hjælp af en hvilken som helst teksteditor, og tilføj din første udskriftserklæring for at byde brugeren velkommen til quizzen.
    Print("Hej, velkommen til geografiquizzen. Svar på spørgsmålene som de præsenteres.")
  3. Stil det første spørgsmål til brugeren. Brug input()-funktionen til at vente på brugerens svar, og gem deres input i variablen "userInput".
    instagram viewer
    Print("Spørgsmål 1. Hvilken by er hovedstaden i Australien?")
    brugerinput = input()
  4. Tilføj en betingelse for at kontrollere, om brugerens input stemmer overens med det rigtige svar. Hvis brugeren svarede rigtigt, skal du vise en "korrekt" besked til vedkommende. Hvis ikke, så vis det rigtige svar.
    if (userInput.lower() == "Canberra".nederste()):
    print ("Det er korrekt!")
    andet:
    print("Beklager, det rigtige svar er Canberra.")
  5. For at køre din quiz og teste, at dit spørgsmål virker, skal du åbne kommandolinjen og navigere til placeringen af ​​din Python-fil. For eksempel, hvis du har gemt din fil i en mappe ved navn Desktop, vil kommandoen være:
    cd Desktop
  6. Kør python-kommandoen for at udføre quizzen.
    pythonInteraktiv Quiz.py
  7. Giv et svar på quizspørgsmålet.

Sådan tilføjer du flere spørgsmål til quizzen

Du kan tilføje flere spørgsmål ved at gentage koden ovenfor. Dette vil dog gøre din kode unødvendig lang og sværere at opdatere. For en bedre tilgang skal du i stedet gemme oplysninger om spørgsmålet i et objekt.

  1. Øverst i Python-filen skal du tilføje en klasse for at gemme oplysninger om et quizspørgsmål. Hvis du ikke har gjort dette før, kan du lære mere om, hvordan du oprette en klasse i Python.
    klasseSpørgsmål:
    def__i det__(selv, spørgsmålTekst, svar):
    selv.questionText = spørgsmålTekst
    selv.svar = svar

    def__repr__(selv):
    Vend tilbage '{'+ self.questionText +', '+ selv.svar +'}'

  2. Tilføj en række spørgsmålsobjekter under klassen. Disse objekter gemmer spørgsmålsteksten, som quizzen viser til brugeren, sammen med det korrekte svar.
    quizSpørgsmål = [
    Spørgsmål("Spørgsmål 1. Hvilken by er hovedstaden i Australien", "Canberra"),
    Spørgsmål("Spørgsmål 2. Hvilken by er hovedstaden i Japan", "Tokyo"),
    Spørgsmål("Spørgsmål 3. Hvor mange øer har Filippinerne", "7100")
    ]
  3. Erstat den eksisterende if-sætning og brugerinputkode. Brug i stedet en for-løkke til at iterere over quizQuestions-arrayet. For hvert spørgsmål skal du vise spørgsmålet og sammenligne brugerens input med det rigtige svar.
    for spørgsmål i quizSpørgsmål:
    print (f"{question.questionText}?")
    brugerinput = input()
    if (userInput.lower() == question.answer.lower()):
    print ("Det er korrekt!")
    andet:
    print (f"Beklager, det rigtige svar er {spørgsmål svar}.")

Sådan tilføjer du multiple choice-spørgsmål

Du kan udvide klassen Spørgsmål til at rumme multiple-choice spørgsmål.

  1. Rediger Spørgsmålsklassen øverst i filen. Tilføj en valgfri attribut kaldet multipleChoiceOptions.
    klasseSpørgsmål:
    def__i det__(selv, spørgsmålTekst, svar, multipleChoiceOptions=Ingen):
    selv.questionText = spørgsmålTekst
    selv.svar = svar
    selv.multipleChoiceOptions = multipleChoiceOptions

    def__repr__(selv):
    Vend tilbage '{'+ self.questionText +', '+ selv.svar +', '+ str (selv.multipleChoiceOptions) +'}'

  2. Tilføj endnu et spørgsmål til quizQuestions-arrayet. Gem nogle multiple-choice muligheder for spørgsmålet.
    quizSpørgsmål = [
    Spørgsmål("Spørgsmål 1. Hvilken by er hovedstaden i Australien", "Canberra"),
    Spørgsmål("Spørgsmål 2. Hvilken by er hovedstaden i Japan", "Tokyo"),
    Spørgsmål("Spørgsmål 3. Hvor mange øer har Filippinerne", "7100"),
    Spørgsmål("Spørgsmål 4. Hvilket land tager mest landmasse", "b", ["(a) USA", "b) Rusland", "(c) Australien", "(d) Antarktis"]),
    ]
  3. Rediger den del af for-løkken, der viser spørgsmålet til brugeren. Hvis der findes flere valgmuligheder for spørgsmålet, skal du vise dem efter spørgsmålet, og før du henter brugerens input.
    for spørgsmål i quizSpørgsmål:
    hvis (question.multipleChoiceOptions != Ingen):
    print (f"{question.questionText}?")
    tilmulighedispørgsmål.multipleChoiceOptions:
    Print(mulighed)
    brugerinput = input()
    andet:
    print (f"{question.questionText}?")
    brugerinput = input()

    if (userInput.lower() == question.answer.lower()):
    print ("Det er korrekt!")
    andet:
    print (f"Beklager, det rigtige svar er {spørgsmål svar}.")

Sådan tilføjer du et spørgsmål, der har alternative korrekte svar

Nogle gange er der spørgsmål, hvor brugeren kan indtaste en del af svaret, men det er teknisk set stadig korrekt.

For eksempel kan et af spørgsmålene i din quiz være "Hvilken halvkugle ligger Japan i?". I dette tilfælde kan brugeren skrive "nord", "nordlig" eller "nordlig halvkugle", og stadig være korrekt.

  1. Tilføj en anden valgfri egenskab til klassen Spørgsmål. Denne attribut vil indeholde alle mulige alternative korrekte svar, som brugeren kan indtaste.
    klasseSpørgsmål:
    def__i det__(self, questionText, answer, multipleChoiceOptions=Ingen, alternateAnswers=Ingen):
    selv.questionText = spørgsmålTekst
    selv.svar = svar
    selv.multipleChoiceOptions = multipleChoiceOptions
    selv.alternateAnswers = alternativeAnswers

    def__repr__(selv):
    Vend tilbage '{'+ self.questionText +', '+ selv.svar +', '+ str (selv.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Tilføj endnu et spørgsmål til quizQuestions-arrayet. Tilføj "den nordlige halvkugle" som det rigtige svar. Tilføj "nord" og "nordlig" som alternative rigtige svar.
    quizSpørgsmål = [
    #...
    Spørgsmål("Spørgsmål 5. Hvilken halvkugle ligger Japan i", "Nordlige halvkugle", [], ["nord", "nordlige"]),
    ]
  3. Tilføj endnu en betingelse til if-sætningen, der kontrollerer, om brugeren har indtastet et alternativt korrekt svar.
    if (userInput.lower() == question.answer.lower()):
    print ("Det er korrekt!")
    elif (question.alternateAnswers != Ingenog userInput.lower() i question.alternateAnswers):
    print ("Det er korrekt!")
    andet:
    print (f"Beklager, det rigtige svar er {spørgsmål svar}.")

Sådan giver du brugeren tip

Du kan ændre scriptet, så brugeren ikke er i stand til at gå videre til næste trin, før de får det aktuelle spørgsmål korrekt. I dette tilfælde skal du tilføje en variabel for at tælle, hvor mange gange brugeren har indtastet et forkert svar. Efter tre forkerte gæt kan du give brugeren et hint.

  1. Rediger klassen Spørgsmål for at bruge en ny tipattribut.
    klasseSpørgsmål:
    def__i det__(self, questionText, answer, hint=Ingen, multipleChoiceOptions=Ingen, alternateAnswers=Ingen):
    selv.questionText = spørgsmålTekst
    selv.svar = svar
    selv.hint = hint
    selv.multipleChoiceOptions = multipleChoiceOptions
    selv.alternateAnswers = alternativeAnswers

    def__repr__(selv):
    Vend tilbage '{'+ self.questionText +', '+ selv.svar +', '+ selv.hint +', '+ str (selv.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Tilføj tip til alle spørgsmålene i quizzen.
    quizSpørgsmål = [
    Spørgsmål("Spørgsmål 1. Hvilken by er hovedstaden i Australien", "Canberra", "Starter med et C"),
    Spørgsmål("Spørgsmål 2. Hvilken by er hovedstaden i Japan", "Tokyo", "Starter med et T"),
    Spørgsmål("Spørgsmål 3. Hvor mange øer har Filippinerne", "7100", "Et tal mellem 7000 og 8000"),
    Spørgsmål("Spørgsmål 4. Hvilket land tager mest landmasse", "b", "Landet spænder over to kontinenter", ["(a) USA", "b) Rusland", "(c) Australien", "(d) Antarktis"]),
    Spørgsmål("Spørgsmål 5. Hvilken halvkugle ligger Japan i", "Nordlige halvkugle", "Den øverste halvdel af Jorden", [], ["nord", "nordlige"]),
    ]
  3. Fjern if-sætningerne, der kontrollerer, om brugeren besvarede spørgsmålet korrekt. Udskift disse med en while-løkke. While-løkken vil løbende gå, indtil brugeren får det rigtige svar. Inden i while-løkken skal du tilføje et tæller, der viser tippet, når brugeren får svaret forkert tre gange.
    for spørgsmål i quizSpørgsmål:
    hvis (question.multipleChoiceOptions != Ingen):
    print (f"{question.questionText}?")
    tilmulighedispørgsmål.multipleChoiceOptions:
    Print(mulighed)
    brugerinput = input()
    andet:
    print (f"{question.questionText}?")
    brugerinput = input()
    antal = 0
    mens (userInput.lower() != question.answer.lower()):
    hvis (question.alternateAnswers != Ingenog userInput.lower() i question.alternateAnswers):
    pause;
    tæl = tæl + 1
    hvis (tælle >= 3):
    print (f"Tip: {question.hint}.")
    brugerinput = input()
    andet:
    print ("Det erikke korrekt, prøve igen.")
    brugerinput = input()

    print ("Det er korrekt!")

  4. Kør din quiz igen på kommandolinjen ved hjælp af python-kommandoen.
    pythonInteraktiv Quiz.py
  5. Besvar spørgsmål til quizzen.

Oprettelse af små applikationer ved hjælp af Python

Et af de projekter, du kan lave, mens du lærer at kode i Python, er en interaktiv quiz. I quizzen kan du præsentere forskellige typer spørgsmål for brugeren.

Du kan gemme information om quizspørgsmålene i et objekt, for at forhindre dig i at gentage din kode for hvert spørgsmål.

For at forbedre dine færdigheder i Python er det en god idé at øve forskellige øvelser og eksempler. Du kan se på andre Python-eksempler, der kan hjælpe dig med at lære.