Du kan øve på å lære å programmere ved å lage korte kommandolinjeprosjekter i Python. Et av prosjektene du kan lage er en interaktiv quiz, hvor du kan stille brukeren ulike typer spørsmål.

Spørsmål du kan stille inkluderer flervalgsspørsmål, eller spørsmål som krever skriftlige svar. Du kan også stille spørsmål som har alternative riktige svar. Du kan til og med få programmet til å gi hint til brukeren.

Hvordan lage Python-skriptet og legge til ditt første quiz-spørsmål

Lag en Python-fil og legg til det første spørsmålet ditt. Hvis du ikke har kodet i Python før, er det mange kurs og ressurser der du kan lær Python gratis.

  1. Lag en ny tekstfil kalt "InteractiveQuiz.py".
  2. Åpne filen med et hvilket som helst tekstredigeringsprogram, og legg til din første utskriftserklæring for å ønske brukeren velkommen til quizen.
    skrive ut("Hei, velkommen til geografi-quizen. Svar på spørsmålene som de presenteres.")
  3. Still det første spørsmålet til brukeren. Bruk input()-funksjonen for å vente på brukerens svar, og lagre inndataene deres i variabelen "userInput".
    instagram viewer
    skrive ut("Spørsmål 1. Hvilken by er hovedstaden i Australia?")
    brukerinngang = input()
  4. Legg til en betingelse for å sjekke om brukerens input samsvarer med det riktige svaret. Hvis brukeren svarte riktig, vis en "riktig" melding til dem. Hvis ikke, vis riktig svar.
    if (userInput.lower() == "Canberra".Nedre()):
    print("Det er riktig!")
    ellers:
    print("Beklager, det riktige svaret er Canberra.")
  5. For å kjøre quizen og teste at spørsmålet ditt fungerer, åpne kommandolinjen og naviger til plasseringen av Python-filen. For eksempel, hvis du lagret filen i en katalog som heter Desktop, vil kommandoen være:
    cd Skrivebord
  6. Kjør python-kommandoen for å utføre quizen.
    pythonInteractiveQuiz.py
  7. Gi svar på quizspørsmålet.

Hvordan legge til flere spørsmål i quizen

Du kan legge til flere spørsmål ved å gjenta koden ovenfor. Dette vil imidlertid gjøre koden din unødvendig lang og vanskeligere å oppdatere. For en bedre tilnærming, lagre informasjon om spørsmålet i et objekt i stedet.

  1. Øverst i Python-filen legger du til en klasse for å lagre informasjon om et quizspørsmål. Hvis du ikke har gjort dette før, kan du lære mer om hvordan lage en klasse i Python.
    klasseSpørsmål:
    def__i det__(selv, spørsmålTekst, svar):
    selv-.questionText = questionText
    selv-.svar = svar

    def__repr__(selv):
    komme tilbake '{'+ self.questionText +', '+ selv.svar +'}'

  2. Legg til en rekke spørsmålsobjekter under klassen. Disse objektene vil lagre spørsmålsteksten som quizen viser til brukeren, sammen med riktig svar.
    quizSpørsmål = [
    Spørsmål("Spørsmål 1. Hvilken by er hovedstaden i Australia", "Canberra"),
    Spørsmål("Spørsmål 2. Hvilken by er hovedstaden i Japan", "Tokyo"),
    Spørsmål("Spørsmål 3. Hvor mange øyer har Filippinene", "7100")
    ]
  3. Erstatt den eksisterende if-setningen og brukerinndatakoden. Bruk i stedet en for-løkke for å iterere over quizQuestions-matrisen. For hvert spørsmål, vis spørsmålet, og sammenlign brukerens innspill med riktig svar.
    for spørsmål i quizSpørsmål:
    skriv ut (f"{question.questionText}?")
    brukerinngang = input()
    if (userInput.lower() == question.answer.lower()):
    print("Det er riktig!")
    ellers:
    print (f"Beklager, det riktige svaret er {spørsmål svar}.")

Hvordan legge til flervalgsspørsmål

Du kan utvide Spørsmålsklassen for å gi plass til flervalgsspørsmål.

  1. Endre Spørsmålsklassen øverst i filen. Legg til et valgfritt attributt kalt multipleChoiceOptions.
    klasseSpørsmål:
    def__i det__(selv, spørsmålstekst, svar, multipleChoiceOptions=Ingen):
    selv-.questionText = questionText
    selv-.svar = svar
    selv-.multipleChoiceOptions = multipleChoiceOptions

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

  2. Legg til et nytt spørsmål til quizQuestions-arrayen. Lagre noen flervalgsalternativer for spørsmålet.
    quizSpørsmål = [
    Spørsmål("Spørsmål 1. Hvilken by er hovedstaden i Australia", "Canberra"),
    Spørsmål("Spørsmål 2. Hvilken by er hovedstaden i Japan", "Tokyo"),
    Spørsmål("Spørsmål 3. Hvor mange øyer har Filippinene", "7100"),
    Spørsmål("Spørsmål 4. Hvilket land tar mest landmasse", "b", ["(a) USA", "(b) Russland", "(c) Australia", "(d) Antarktis"]),
    ]
  3. Endre delen av for-løkken som viser spørsmålet til brukeren. Hvis det finnes flervalgsalternativer for spørsmålet, vis dem etter spørsmålet, og før du henter brukerens input.
    for spørsmål i quizSpørsmål:
    hvis (question.multipleChoiceOptions != Ingen):
    skriv ut (f"{question.questionText}?")
    tilalternativispørsmål.multipleChoiceOptions:
    skrive ut(alternativ)
    brukerinngang = input()
    ellers:
    skriv ut (f"{question.questionText}?")
    brukerinngang = input()

    if (userInput.lower() == question.answer.lower()):
    print("Det er riktig!")
    ellers:
    print (f"Beklager, det riktige svaret er {spørsmål svar}.")

Hvordan legge til et spørsmål som har alternative riktige svar

Noen ganger er det spørsmål der brukeren kan skrive inn deler av svaret, men det er teknisk sett fortsatt riktig.

For eksempel kan et av spørsmålene i quizen din være "Hvilken halvkule ligger Japan i?". I dette tilfellet kan brukeren skrive "nord", "nordlig" eller "nordlig halvkule", og fortsatt være korrekt.

  1. Legg til et annet valgfritt attributt til Spørsmålsklassen. Dette attributtet vil inneholde alle mulige alternative riktige svar som brukeren kan skrive inn.
    klasseSpørsmål:
    def__i det__(selv, questionText, answer, multipleChoiceOptions=Ingen, alternateAnswers=Ingen):
    selv-.questionText = questionText
    selv-.svar = svar
    selv-.multipleChoiceOptions = multipleChoiceOptions
    selv-.alternateAnswers = alternativeAnswers

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

  2. Legg til et nytt spørsmål til quizQuestions-arrayen. Legg til "den nordlige halvkule" som riktig svar. Legg til "nord" og "nordlig" som alternative riktige svar.
    quizSpørsmål = [
    #...
    Spørsmål("Spørsmål 5. Hvilken halvkule ligger Japan i", "Nordlige halvkule", [], ["Nord", "nordlig"]),
    ]
  3. Legg til en annen betingelse i if-setningen som sjekker om brukeren har skrevet inn et alternativt riktig svar.
    if (userInput.lower() == question.answer.lower()):
    print("Det er riktig!")
    elif (question.alternateAnswers != Ingenog userInput.lower() i question.alternateAnswers):
    print("Det er riktig!")
    ellers:
    print (f"Beklager, det riktige svaret er {spørsmål svar}.")

Hvordan gi brukeren hint

Du kan endre skriptet slik at brukeren ikke kan gå videre til neste trinn før de får det gjeldende spørsmålet riktig. I dette tilfellet legger du til en variabel for å telle hvor mange ganger brukeren har skrevet inn feil svar. Etter tre feil gjetninger kan du gi brukeren et hint.

  1. Endre Spørsmål-klassen for å bruke et nytt hint-attributt.
    klasseSpørsmål:
    def__i det__(selv, questionText, answer, hint=Ingen, multipleChoiceOptions=Ingen, alternateAnswers=Ingen):
    selv-.questionText = questionText
    selv-.svar = svar
    selv-.hint = hint
    selv-.multipleChoiceOptions = multipleChoiceOptions
    selv-.alternateAnswers = alternativeAnswers

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

  2. Legg til hint til alle spørsmålene i quizen.
    quizSpørsmål = [
    Spørsmål("Spørsmål 1. Hvilken by er hovedstaden i Australia", "Canberra", "Starter med en C"),
    Spørsmål("Spørsmål 2. Hvilken by er hovedstaden i Japan", "Tokyo", "Starter med en T"),
    Spørsmål("Spørsmål 3. Hvor mange øyer har Filippinene", "7100", "Et tall mellom 7000 og 8000"),
    Spørsmål("Spørsmål 4. Hvilket land tar mest landmasse", "b", "Landet spenner over to kontinenter", ["(a) USA", "(b) Russland", "(c) Australia", "(d) Antarktis"]),
    Spørsmål("Spørsmål 5. Hvilken halvkule ligger Japan i", "Nordlige halvkule", "Den øverste halvdelen av jorden", [], ["Nord", "nordlig"]),
    ]
  3. Fjern if-setningene som sjekker om brukeren svarte riktig på spørsmålet. Erstatt disse med en while-løkke. While-løkken vil kontinuerlig løkke til brukeren får svaret riktig. Inne i while-løkken legger du til en telling som viser hintet når brukeren får svaret feil tre ganger.
    for spørsmål i quizSpørsmål:
    hvis (question.multipleChoiceOptions != Ingen):
    skriv ut (f"{question.questionText}?")
    tilalternativispørsmål.multipleChoiceOptions:
    skrive ut(alternativ)
    brukerinngang = input()
    ellers:
    skriv ut (f"{question.questionText}?")
    brukerinngang = input()
    telle = 0
    samtidig som (userInput.lower() != question.answer.lower()):
    hvis (question.alternateAnswers != Ingenog userInput.lower() i question.alternateAnswers):
    gå i stykker;
    telle = telle + 1
    hvis (telle >= 3):
    skriv ut (f"Hint: {question.hint}.")
    brukerinngang = input()
    ellers:
    print("Det erikke riktig, prøve en gang til.")
    brukerinngang = input()

    print("Det er riktig!")

  4. Kjør quizen på nytt på kommandolinjen ved å bruke python-kommandoen.
    pythonInteractiveQuiz.py
  5. Svar på spørsmål til quizen.

Opprette små applikasjoner ved hjelp av Python

Et av prosjektene du kan lage mens du lærer å kode i Python er en interaktiv quiz. I quizen kan du presentere ulike typer spørsmål for brukeren.

Du kan lagre informasjon om quizspørsmålene i et objekt, for å forhindre at du gjentar koden for hvert spørsmål.

For å forbedre ferdighetene dine i Python, er det en god idé å trene på ulike øvelser og eksempler. Du kan ta en titt på andre Python-eksempler som kan hjelpe deg å lære.