Naučiť sa programovať si môžete precvičiť vytváraním krátkych projektov príkazového riadku v Pythone. Jedným z projektov, ktoré môžete urobiť, je interaktívny kvíz, v ktorom môžete používateľovi klásť rôzne druhy otázok.

Otázky, ktoré môžete položiť, zahŕňajú otázky s možnosťou výberu z viacerých odpovedí alebo otázky, ktoré vyžadujú písomné odpovede. Môžete tiež klásť otázky, ktoré majú alternatívne správne odpovede. Svoj program môžete dokonca nastaviť tak, aby používateľovi poskytoval rady.

Ako vytvoriť skript Python a pridať svoju prvú kvízovú otázku

Vytvorte súbor Python a pridajte svoju prvú otázku. Ak ste ešte nekódovali v Pythone, existuje veľa kurzov a zdrojov, kde môžete naučte sa Python zadarmo.

  1. Vytvorte nový textový súbor s názvom „InteractiveQuiz.py“.
  2. Otvorte súbor pomocou ľubovoľného textového editora a pridajte svoj prvý tlačový výpis, aby ste privítali používateľa v kvíze.
    vytlačiť(„Dobrý deň, vitajte v geografickom kvíze. Odpovedz na otázku ako sú prezentované.").
  3. Položte prvú otázku používateľovi. Pomocou funkcie input() počkajte na odpoveď používateľa a jeho vstup uložte do premennej „userInput“.
    instagram viewer
    vytlačiť ("Otázka 1. Aké mesto je hlavným mestom Austrálie?")
    userInput = vstup ()
  4. Pridajte podmienku na kontrolu, či sa vstup používateľa zhoduje so správnou odpoveďou. Ak používateľ odpovedal správne, zobrazte mu „správnu“ správu. Ak nie, zobrazte správnu odpoveď.
    if (userInput.lower() == "Canberra".lower()):
    vytlačiť („To je správne!")
    inak:
    print("Prepáčte, správna odpoveď je Canberra.")
  5. Ak chcete spustiť svoj kvíz a otestovať, či vaša otázka funguje, otvorte príkazový riadok a prejdite do umiestnenia vášho súboru Python. Napríklad, ak ste súbor uložili do adresára s názvom Desktop, príkaz by bol:
    cd Desktop
  6. Spustite príkaz python a spustite kvíz.
    pytónInteraktívny kvíz.py
  7. Uveďte odpoveď na kvízovú otázku.

Ako pridať do kvízu viacero otázok

Zopakovaním vyššie uvedeného kódu môžete pridať niekoľko otázok. Váš kód však bude zbytočne dlhý a bude ťažšie aktualizovať. Pre lepší prístup uložte informácie o otázke do objektu.

  1. V hornej časti súboru Python pridajte triedu na uloženie informácií o kvízovej otázke. Ak ste to ešte neurobili, môžete sa dozvedieť viac o tom, ako na to vytvoriť triedu v Pythone.
    triedaOtázka:
    def__init__(ja, otázkaText, odpoveď):
    seba.questionText = otázkaText
    seba.odpoveď = odpoveď

    def__repr__(ja):
    vrátiť '{'+ seba.otázkaText +', '+ vlastná odpoveď +'}'

  2. Pod triedu pridajte pole objektov otázok. Tieto objekty uložia text otázky, ktorý kvíz zobrazí používateľovi, spolu so správnou odpoveďou.
    kvízové ​​otázky = [
    otázka("Otázka 1. Aké mesto je hlavným mestom Austrálie", "Canberra"),
    otázka("Otázka 2. Aké mesto je hlavným mestom Japonska", "Tokio"),
    otázka("Otázka 3. Koľko ostrovov majú Filipíny", "7100")
    ]
  3. Nahraďte existujúci príkaz if a vstupný kód používateľa. Namiesto toho použite cyklus for na iteráciu poľa quizQuestions. Pre každú otázku zobrazte otázku a porovnajte vstup používateľa so správnou odpoveďou.
    pre otázku v kvízových otázkach:
    vytlačiť (f"{question.questionText}?")
    userInput = vstup ()
    if (userInput.lower() == question.answer.lower()):
    vytlačiť („To je správne!")
    inak:
    vytlačiť (f"Prepáčte, správna odpoveď je {otázka odpoveď}.")

Ako pridať otázky s viacerými možnosťami výberu

Triedu otázok môžete rozšíriť tak, aby vyhovovala otázkam s možnosťou výberu z viacerých odpovedí.

  1. Upravte triedu Otázka v hornej časti súboru. Pridajte voliteľný atribút s názvom multipleChoiceOptions.
    triedaOtázka:
    def__init__(self, questionText, answer, multipleChoiceOptions=None):
    seba.questionText = otázkaText
    seba.odpoveď = odpoveď
    seba.multipleChoiceOptions = multipleChoiceOptions

    def__repr__(ja):
    vrátiť '{'+ seba.otázkaText +', '+ vlastná odpoveď +', '+ str (self.multipleChoiceOptions) +'}'

  2. Pridajte ďalšiu otázku do poľa quizQuestions. Uložte niekoľko možností s možnosťou výberu z viacerých možností pre otázku.
    kvízové ​​otázky = [
    otázka("Otázka 1. Aké mesto je hlavným mestom Austrálie", "Canberra"),
    otázka("Otázka 2. Aké mesto je hlavným mestom Japonska", "Tokio"),
    otázka("Otázka 3. Koľko ostrovov majú Filipíny", "7100"),
    otázka("Otázka 4. Ktorá krajina zaberá najviac pôdy", "b", ["a) Spojené štáty americké", "b) Rusko", "c) Austrália", "d) Antarktída"]),
    ]
  3. Upravte časť cyklu for, ktorá zobrazí otázku používateľovi. Ak pre otázku existujú možnosti s viacerými možnosťami, zobrazte ich po otázke a pred načítaním vstupu používateľa.
    pre otázku v kvízových otázkach:
    ak (question.multipleChoiceOptions != žiadne):
    vytlačiť (f"{question.questionText}?")
    premožnosťvotázka.multipleChoiceOptions:
    vytlačiť(možnosť)
    userInput = vstup ()
    inak:
    vytlačiť (f"{question.questionText}?")
    userInput = vstup ()

    if (userInput.lower() == question.answer.lower()):
    vytlačiť („To je správne!")
    inak:
    vytlačiť (f"Prepáčte, správna odpoveď je {otázka odpoveď}.")

Ako pridať otázku, ktorá má alternatívne správne odpovede

Niekedy sa vyskytnú otázky, pri ktorých môže používateľ zadať časť odpovede, ale technicky je stále správna.

Jedna z otázok vo vašom kvíze môže byť napríklad „Na ktorej pologuli sa nachádza Japonsko?“. V tomto prípade môže používateľ zadať „Sever“, „Severná“ alebo „Severná pologuľa“ a bude mať stále pravdu.

  1. Pridajte ďalší voliteľný atribút do triedy Question. Tento atribút bude obsahovať všetky možné alternatívne správne odpovede, ktoré môže používateľ zadať.
    triedaOtázka:
    def__init__(self, questionText, answer, multipleChoiceOptions=None, alternativeAnswers=None):
    seba.questionText = otázkaText
    seba.odpoveď = odpoveď
    seba.multipleChoiceOptions = multipleChoiceOptions
    seba.alternateAnswers = alternatívneOdpovede

    def__repr__(ja):
    vrátiť '{'+ seba.otázkaText +', '+ vlastná odpoveď +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Pridajte ďalšiu otázku do poľa quizQuestions. Pridajte „severnú pologuľu“ ako správnu odpoveď. Pridajte „sever“ a „sever“ ako alternatívne správne odpovede.
    kvízové ​​otázky = [
    #...
    otázka("Otázka 5. Na ktorej pologuli sa nachádza Japonsko", "Severná hemisféra", [], ["sever", "severný"]),
    ]
  3. Do príkazu if pridajte ďalšiu podmienku, ktorá skontroluje, či používateľ zadal alternatívnu správnu odpoveď.
    if (userInput.lower() == question.answer.lower()):
    vytlačiť („To je správne!")
    elif (quest.alternateAnswers != žiadnea userInput.lower() v question.alternateAnswers):
    vytlačiť („To je správne!")
    inak:
    vytlačiť (f"Prepáčte, správna odpoveď je {otázka odpoveď}.")

Ako dať používateľovi rady

Skript môžete upraviť tak, aby používateľ nemohol postúpiť do ďalšej fázy, kým nedostane správnu aktuálnu otázku. V tomto prípade pridajte premennú, ktorá spočíta, koľkokrát používateľ zadal nesprávnu odpoveď. Po troch nesprávnych odhadoch môžete používateľovi poradiť.

  1. Upravte triedu Question tak, aby používala nový atribút hint.
    triedaOtázka:
    def__init__(self, questionText, answer, hint=None, multipleChoiceOptions=None, alternativeAnswers=None):
    seba.questionText = otázkaText
    seba.odpoveď = odpoveď
    seba.nápoveď = nápoveda
    seba.multipleChoiceOptions = multipleChoiceOptions
    seba.alternateAnswers = alternatívneOdpovede

    def__repr__(ja):
    vrátiť '{'+ seba.otázkaText +', '+ vlastná odpoveď +', '+ seba.nápoveda +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Pridajte tipy ku všetkým otázkam v kvíze.
    kvízové ​​otázky = [
    otázka("Otázka 1. Aké mesto je hlavným mestom Austrálie", "Canberra", "Začína sa písmenom C"),
    otázka("Otázka 2. Aké mesto je hlavným mestom Japonska", "Tokio", "Začína na T"),
    otázka("Otázka 3. Koľko ostrovov majú Filipíny", "7100", "Číslo medzi 7000 a 8000"),
    otázka("Otázka 4. Ktorá krajina zaberá najviac pôdy", "b", "Krajina sa rozprestiera na dvoch kontinentoch", ["a) Spojené štáty americké", "b) Rusko", "c) Austrália", "d) Antarktída"]),
    otázka("Otázka 5. Na ktorej pologuli sa nachádza Japonsko", "Severná hemisféra", "Horná polovica Zeme", [], ["sever", "severný"]),
    ]
  3. Odstráňte príkazy if, ktoré kontrolujú, či používateľ odpovedal na otázku správne. Nahraďte ich slučkou while. Cyklus while sa bude neustále opakovať, kým používateľ nedostane správnu odpoveď. V rámci cyklu while pridajte počet, ktorý zobrazí nápovedu, keď používateľ trikrát nesprávne odpovie.
    pre otázku v kvízových otázkach:
    ak (question.multipleChoiceOptions != žiadne):
    vytlačiť (f"{question.questionText}?")
    premožnosťvotázka.multipleChoiceOptions:
    vytlačiť(možnosť)
    userInput = vstup ()
    inak:
    vytlačiť (f"{question.questionText}?")
    userInput = vstup ()
    počet = 0
    zatiaľ čo (userInput.lower() != question.answer.lower()):
    ak (quest.alternateAnswers != žiadnea userInput.lower() v question.alternateAnswers):
    prestávka;
    počítať = počítať + 1
    ak (počítať >= 3):
    vytlačiť (f"Tip: {question.hint}.")
    userInput = vstup ()
    inak:
    vytlačiť („To jenie správne, skúste znova."
    userInput = vstup ()

    vytlačiť („To je správne!")

  4. Znova spustite svoj kvíz v príkazovom riadku pomocou príkazu python.
    pytónInteraktívny kvíz.py
  5. Odpovedzte na otázky v kvíze.

Vytváranie malých aplikácií pomocou Pythonu

Jedným z projektov, ktoré môžete urobiť, keď sa naučíte kódovať v Pythone, je interaktívny kvíz. V kvíze môžete používateľovi predložiť rôzne typy otázok.

Informácie o kvízových otázkach môžete uložiť do objektu, aby ste zabránili opakovaniu kódu pre každú otázku.

Ak chcete zlepšiť svoje zručnosti v Pythone, je dobré si precvičiť rôzne cvičenia a príklady. Môžete sa pozrieť na ďalšie príklady Pythonu, ktoré vám môžu pomôcť pri učení.