Du kan öva på att lära dig programmera genom att göra korta kommandoradsprojekt i Python. Ett av projekten du kan göra är ett interaktivt frågesport, där du kan ställa olika typer av frågor till användaren.

Frågor du kan ställa inkluderar flervalsfrågor eller frågor som kräver skriftliga svar. Du kan också ställa frågor som har alternativa korrekta svar. Du kan till och med få ditt program att ge tips till användaren.

Hur man skapar Python-skriptet och lägger till din första frågesportsfråga

Skapa en Python-fil och lägg till din första fråga. Om du inte har kodat i Python tidigare finns det många kurser och resurser där du kan lär dig Python gratis.

  1. Skapa en ny textfil som heter "InteractiveQuiz.py".
  2. Öppna filen med valfri textredigerare och lägg till din första utskrift för att välkomna användaren till frågesporten.
    skriva ut("Hej, välkommen till geografiquizet. Svara på frågorna som de presenteras.")
  3. Ställ den första frågan till användaren. Använd input()-funktionen för att vänta på användarens svar och lagra deras input i variabeln "userInput".
    instagram viewer
    skriva ut("Fråga 1. Vilken stad är huvudstad i Australien?")
    userInput = input()
  4. Lägg till ett villkor för att kontrollera om användarens inmatning stämmer överens med rätt svar. Om användaren svarade rätt, visa ett "rätt" meddelande till dem. Om inte, visa rätt svar.
    if (userInput.lower() == "canberra".lägre()):
    print("Det är korrekt!")
    annan:
    print("Tyvärr, rätt svar är Canberra.")
  5. För att köra ditt frågesport och testa att din fråga fungerar, öppna kommandoraden och navigera till platsen för din Python-fil. Till exempel, om du lagrade din fil i en katalog som heter Desktop, skulle kommandot vara:
    CD Skrivbord
  6. Kör kommandot python för att köra frågesporten.
    pytonormInteractiveQuiz.py
  7. Ge ett svar på frågesportsfrågan.

Hur man lägger till flera frågor till frågesporten

Du kan lägga till flera frågor genom att upprepa koden ovan. Detta kommer dock att göra din kod onödigt lång och svårare att uppdatera. För ett bättre tillvägagångssätt, lagra information om frågan i ett objekt istället.

  1. Överst i Python-filen lägger du till en klass för att lagra information om en frågesportfråga. Om du inte har gjort detta tidigare kan du lära dig mer om hur du gör det skapa en klass i Python.
    klassFråga:
    def__i det__(själv, frågaText, svar):
    själv.questionText = questionText
    själv.svar = svar

    def__repr__(själv):
    lämna tillbaka '{'+ self.questionText +', '+ själv.svar +'}'

  2. Lägg till en rad frågeobjekt under klassen. Dessa objekt kommer att lagra frågetexten som frågesporten visar för användaren, tillsammans med det korrekta svaret.
    quizQuestions = [
    Fråga("Fråga 1. Vilken stad är Australiens huvudstad", "canberra"),
    Fråga("Fråga 2. Vilken stad är Japans huvudstad", "Tokyo"),
    Fråga("Fråga 3. Hur många öar har Filippinerna", "7100")
    ]
  3. Ersätt den befintliga if-satsen och användarinmatningskoden. Använd istället en for-loop för att iterera över quizQuestions-arrayen. För varje fråga, visa frågan och jämför användarens input med rätt svar.
    för fråga i frågesportFrågor:
    skriva ut (f"{question.questionText}?")
    userInput = input()
    if (userInput.lower() == question.answer.lower()):
    print("Det är korrekt!")
    annan:
    print (f"Tyvärr, rätt svar är {fråga Svar}.")

Hur man lägger till flervalsfrågor

Du kan utöka frågeklassen för att ta emot flervalsfrågor.

  1. Ändra frågeklassen överst i filen. Lägg till ett valfritt attribut som heter multipleChoiceOptions.
    klassFråga:
    def__i det__(self, questionText, answer, multipleChoiceOptions=Ingen):
    själv.questionText = questionText
    själv.svar = svar
    själv.multipleChoiceOptions = multipleChoiceOptions

    def__repr__(själv):
    lämna tillbaka '{'+ self.questionText +', '+ själv.svar +', '+ str (self.multipleChoiceOptions) +'}'

  2. Lägg till ytterligare en fråga till quizQuestions-arrayen. Lagra några flervalsalternativ för frågan.
    quizQuestions = [
    Fråga("Fråga 1. Vilken stad är Australiens huvudstad", "canberra"),
    Fråga("Fråga 2. Vilken stad är Japans huvudstad", "Tokyo"),
    Fråga("Fråga 3. Hur många öar har Filippinerna", "7100"),
    Fråga("Fråga 4. Vilket land tar mest landmassa", "b", ["(a) USA", "b) Ryssland", "(c) Australien", "(d) Antarktis"]),
    ]
  3. Ändra den del av for-slingan som visar frågan för användaren. Om det finns flervalsalternativ för frågan, visa dem efter frågan och innan du hämtar användarens input.
    för fråga i frågesportFrågor:
    om (question.multipleChoiceOptions != Ingen):
    skriva ut (f"{question.questionText}?")
    föralternativifråga.multipleChoiceOptions:
    skriva ut(alternativ)
    userInput = input()
    annan:
    skriva ut (f"{question.questionText}?")
    userInput = input()

    if (userInput.lower() == question.answer.lower()):
    print("Det är korrekt!")
    annan:
    print (f"Tyvärr, rätt svar är {fråga Svar}.")

Hur man lägger till en fråga som har alternativa korrekta svar

Ibland finns det frågor där användaren kan skriva in en del av svaret, men det är tekniskt sett fortfarande korrekt.

Till exempel kan en av frågorna i ditt frågesport vara "Vilket halvklot ligger Japan i?". I det här fallet kan användaren skriva "Norra", "Norra" eller "Norra halvklotet" och fortfarande vara korrekt.

  1. Lägg till ytterligare ett valfritt attribut till klassen Fråga. Detta attribut kommer att innehålla alla möjliga alternativa korrekta svar som användaren kan ange.
    klassFråga:
    def__i det__(self, questionText, answer, multipleChoiceOptions=Ingen, alternateAnswers=Ingen):
    själv.questionText = questionText
    själv.svar = svar
    själv.multipleChoiceOptions = multipleChoiceOptions
    själv.alternateAnswers = alternateAnswers

    def__repr__(själv):
    lämna tillbaka '{'+ self.questionText +', '+ själv.svar +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Lägg till ytterligare en fråga till quizQuestions-arrayen. Lägg till "Norra halvklotet" som rätt svar. Lägg till "north" och "northern" som alternativa korrekta svar.
    quizQuestions = [
    #...
    Fråga("Fråga 5. Vilket halvklot ligger Japan på", "Norra halvklotet", [], ["norr", "nordlig"]),
    ]
  3. Lägg till ytterligare ett villkor till if-satsen som kontrollerar om användaren har angett ett alternativt korrekt svar.
    if (userInput.lower() == question.answer.lower()):
    print("Det är korrekt!")
    elif (question.alternateAnswers != Ingenoch userInput.lower() i question.alternateAnswers):
    print("Det är korrekt!")
    annan:
    print (f"Tyvärr, rätt svar är {fråga Svar}.")

Hur man ger användaren tips

Du kan ändra skriptet så att användaren inte kan gå vidare till nästa steg förrän de får den aktuella frågan korrekt. I det här fallet lägger du till en variabel för att räkna hur många gånger användaren har skrivit in ett fel svar. Efter tre felaktiga gissningar kan du ge användaren en ledtråd.

  1. Ändra klassen Question för att använda ett nytt hint-attribut.
    klassFråga:
    def__i det__(self, questionText, answer, hint=Ingen, multipleChoiceOptions=Ingen, alternateAnswers=Ingen):
    själv.questionText = questionText
    själv.svar = svar
    själv.hint = hint
    själv.multipleChoiceOptions = multipleChoiceOptions
    själv.alternateAnswers = alternateAnswers

    def__repr__(själv):
    lämna tillbaka '{'+ self.questionText +', '+ själv.svar +', '+ själv.tips +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Lägg till tips till alla frågor i frågesporten.
    quizQuestions = [
    Fråga("Fråga 1. Vilken stad är Australiens huvudstad", "canberra", "Börjar med ett C"),
    Fråga("Fråga 2. Vilken stad är Japans huvudstad", "Tokyo", "Börjar med ett T"),
    Fråga("Fråga 3. Hur många öar har Filippinerna", "7100", "Ett nummer mellan 7000 och 8000"),
    Fråga("Fråga 4. Vilket land tar mest landmassa", "b", "Landet sträcker sig över två kontinenter", ["(a) USA", "b) Ryssland", "(c) Australien", "(d) Antarktis"]),
    Fråga("Fråga 5. Vilket halvklot ligger Japan på", "Norra halvklotet", "Den övre halvan av jorden", [], ["norr", "nordlig"]),
    ]
  3. Ta bort if-satserna som kontrollerar om användaren svarade rätt på frågan. Byt ut dessa mot en while-loop. While-slingan kommer kontinuerligt att loopa tills användaren får rätt svar. Inuti while-slingan lägger du till ett antal som visar tipset när användaren får fel svar tre gånger.
    för fråga i frågesportFrågor:
    om (question.multipleChoiceOptions != Ingen):
    skriva ut (f"{question.questionText}?")
    föralternativifråga.multipleChoiceOptions:
    skriva ut(alternativ)
    userInput = input()
    annan:
    skriva ut (f"{question.questionText}?")
    userInput = input()
    räkna = 0
    medan (userInput.lower() != question.answer.lower()):
    om (question.alternateAnswers != Ingenoch userInput.lower() i question.alternateAnswers):
    ha sönder;
    räkna = räkna + 1
    om (räkna >= 3):
    skriva ut (f"Tips: {question.hint}.")
    userInput = input()
    annan:
    print("Det ärinte korrekt, Prova om igen.")
    userInput = input()

    print("Det är korrekt!")

  4. Kör frågesporten igen på kommandoraden med kommandot python.
    pytonormInteractiveQuiz.py
  5. Svara på frågor till frågesporten.

Skapa små applikationer med Python

Ett av projekten du kan göra medan du lär dig koda i Python är ett interaktivt frågesport. I frågesporten kan du presentera olika typer av frågor för användaren.

Du kan lagra information om frågesportsfrågorna i ett objekt för att förhindra att du upprepar din kod för varje fråga.

För att förbättra dina färdigheter i Python är det en bra idé att träna på olika övningar och exempel. Du kan ta en titt på andra Python-exempel som kan hjälpa dig att lära dig.