Puteți exersa să învățați cum să programați realizând proiecte scurte în linia de comandă în Python. Unul dintre proiectele pe care le puteți realiza este un test interactiv, în care puteți adresa utilizatorului diferite tipuri de întrebări.

Întrebările pe care le puteți adresa includ întrebări cu răspunsuri multiple sau întrebări care necesită răspunsuri scrise. De asemenea, puteți pune întrebări care au răspunsuri alternative corecte. Puteți chiar să faceți ca programul dvs. să ofere indicii utilizatorului.

Cum să creezi scriptul Python și să adaugi prima întrebare la test

Creați un fișier Python și adăugați la prima întrebare. Dacă nu ați mai codat în Python, există multe cursuri și resurse acolo unde puteți învață Python gratuit.

  1. Creați un fișier text nou numit „InteractiveQuiz.py”.
  2. Deschideți fișierul utilizând orice editor de text și adăugați prima declarație de tipărire pentru a primi utilizatorului la test.
    imprimare("Bună ziua, bun venit la testul de geografie. Răspunde la întrebările la fel de sunt prezentate.")
  3. instagram viewer
  4. Puneți prima întrebare utilizatorului. Utilizați funcția input() pentru a aștepta răspunsul utilizatorului și stocați intrarea acestuia în variabila „userInput”.
    imprimare("Intrebarea 1. Ce oraș este capitala Australiei?")
    userInput = input()
  5. Adăugați o condiție pentru a verifica dacă introducerea utilizatorului se potrivește cu răspunsul corect. Dacă utilizatorul a răspuns corect, afișați-i un mesaj „corect”. Dacă nu, afișați răspunsul corect.
    if (userInput.lower() == "Canberra".inferior()):
    print("Asta este corect!")
    altfel:
    print("Ne pare rău, răspunsul corect este Canberra.")
  6. Pentru a rula testul și a testa dacă întrebarea dvs. funcționează, deschideți linia de comandă și navigați la locația fișierului dvs. Python. De exemplu, dacă ați stocat fișierul într-un director numit Desktop, comanda ar fi:
    CD Desktop
  7. Rulați comanda python pentru a executa testul.
    pitonInteractiveQuiz.py
  8. Oferiți un răspuns la întrebarea testului.

Cum să adăugați mai multe întrebări la test

Puteți adăuga mai multe întrebări repetând codul de mai sus. Cu toate acestea, acest lucru va face codul dvs. lung și mai greu de actualizat inutil. Pentru o abordare mai bună, stocați în schimb informații despre întrebare într-un obiect.

  1. În partea de sus a fișierului Python, adăugați o clasă pentru a stoca informații despre o întrebare test. Dacă nu ați făcut acest lucru înainte, puteți afla mai multe despre cum să faceți acest lucru creați o clasă în Python.
    clasăÎntrebare:
    def__init__(auto, întrebareText, răspuns):
    de sine.questionText = textul întrebării
    de sine.answer = răspuns

    def__repr__(de sine):
    întoarcere '{'+ self.questionText +', '+ auto.răspuns +'}'

  2. Sub clasă, adăugați o serie de obiecte întrebare. Aceste obiecte vor stoca textul întrebării pe care testul îl afișează utilizatorului, împreună cu răspunsul corect.
    chestionareÎntrebări = [
    Întrebare("Intrebarea 1. Ce oraș este capitala Australiei", "Canberra"),
    Întrebare("Intrebarea 2. Ce oraș este capitala Japoniei", "Tokyo"),
    Întrebare("Întrebarea 3. Câte insule au Filipine", "7100")
    ]
  3. Înlocuiți instrucțiunea if existentă și codul de intrare de utilizator. În schimb, utilizați o buclă for pentru a repeta peste matricea quizQuestions. Pentru fiecare întrebare, afișați întrebarea și comparați intrarea utilizatorului cu răspunsul corect.
    pentru întrebare în chestionarÎntrebări:
    tipărire (f"{question.questionText}?")
    userInput = input()
    dacă (userInput.lower() == întrebare.răspuns.lower()):
    print("Asta este corect!")
    altfel:
    print (f"Ne pare rău, răspunsul corect este {întrebare răspuns}.")

Cum să adăugați întrebări cu alegere multiplă

Puteți extinde clasa Întrebări pentru a găzdui întrebări cu răspunsuri multiple.

  1. Modificați clasa Întrebări din partea de sus a fișierului. Adăugați un atribut opțional numit multipleChoiceOptions.
    clasăÎntrebare:
    def__init__(self, text text, răspuns, multipleChoiceOptions=Niciuna):
    de sine.questionText = textul întrebării
    de sine.answer = răspuns
    de sine.multipleChoiceOptions = multipleChoiceOptions

    def__repr__(de sine):
    întoarcere '{'+ self.questionText +', '+ auto.răspuns +', '+ str (self.multipleChoiceOptions) +'}'

  2. Adăugați o altă întrebare în matricea quizQuestions. Stocați câteva opțiuni cu alegere multiplă pentru întrebare.
    chestionareÎntrebări = [
    Întrebare("Intrebarea 1. Ce oraș este capitala Australiei", "Canberra"),
    Întrebare("Intrebarea 2. Ce oraș este capitala Japoniei", "Tokyo"),
    Întrebare("Întrebarea 3. Câte insule au Filipine", "7100"),
    Întrebare("Întrebarea 4. Care țară are cea mai mare masă de pământ", "b", ["(a) Statele Unite ale Americii", "(b) Rusia", "(c) Australia", "(d) Antarctica"]),
    ]
  3. Modificați partea din bucla for care afișează întrebarea utilizatorului. Dacă există opțiuni cu opțiuni multiple pentru întrebare, afișați-le după întrebare și înainte de a prelua intrarea utilizatorului.
    pentru întrebare în chestionarÎntrebări:
    dacă (question.multipleChoiceOptions != Nici unul):
    tipărire (f"{question.questionText}?")
    pentruopțiuneînîntrebare.MultipleChoiceOptions:
    imprimare(opțiune)
    userInput = input()
    altfel:
    tipărire (f"{question.questionText}?")
    userInput = input()

    dacă (userInput.lower() == întrebare.răspuns.lower()):
    print("Asta este corect!")
    altfel:
    print (f"Ne pare rău, răspunsul corect este {întrebare răspuns}.")

Cum să adăugați o întrebare care are răspunsuri corecte alternative

Uneori există întrebări în care utilizatorul poate introduce o parte din răspuns, dar este încă corect din punct de vedere tehnic.

De exemplu, una dintre întrebările din chestionarul dvs. ar putea fi „În ce emisferă se află Japonia?”. În acest caz, utilizatorul poate introduce „North”, „Northern” sau „Northern Hemisphere” și poate fi în continuare corect.

  1. Adăugați un alt atribut opțional la clasa Întrebare. Acest atribut va conține orice posibile răspunsuri alternative corecte pe care utilizatorul le poate introduce.
    clasăÎntrebare:
    def__init__(self, text text, răspuns, multipleChoiceOptions=Niciuna, alternativeAnswers=Niciuna):
    de sine.questionText = textul întrebării
    de sine.answer = răspuns
    de sine.multipleChoiceOptions = multipleChoiceOptions
    de sine.alternateAnswers = alternativeAnswers

    def__repr__(de sine):
    întoarcere '{'+ self.questionText +', '+ auto.răspuns +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Adăugați o altă întrebare în matricea quizQuestions. Adăugați „emisfera nordică” ca răspuns corect. Adăugați „nord” și „nord” ca răspunsuri alternative corecte.
    chestionareÎntrebări = [
    #...
    Întrebare("Întrebarea 5. În ce emisferă se află Japonia", "Emisfera nordică", [], ["Nord", "de Nord"]),
    ]
  3. Adăugați o altă condiție la declarația if care verifică dacă utilizatorul a introdus un răspuns corect alternativ.
    dacă (userInput.lower() == întrebare.răspuns.lower()):
    print("Asta este corect!")
    elif (question.alternateAnswers != Nici unulși userInput.lower() în question.alternateAnswers):
    print("Asta este corect!")
    altfel:
    print (f"Ne pare rău, răspunsul corect este {întrebare răspuns}.")

Cum să oferiți sugestii utilizatorului

Puteți modifica scriptul astfel încât utilizatorul să nu poată trece la următoarea etapă până când nu primește întrebarea curentă corectă. În acest caz, adăugați o variabilă pentru a număra de câte ori utilizatorul a introdus un răspuns greșit. După trei presupuneri incorecte, puteți oferi utilizatorului un indiciu.

  1. Modificați clasa Întrebare pentru a utiliza un nou atribut indiciu.
    clasăÎntrebare:
    def__init__(self, questionText, answer, hint=Niciunul, multipleChoiceOptions=Niciuna, alternativeAnswers=Niciuna):
    de sine.questionText = textul întrebării
    de sine.answer = răspuns
    de sine.hint = indiciu
    de sine.multipleChoiceOptions = multipleChoiceOptions
    de sine.alternateAnswers = alternativeAnswers

    def__repr__(de sine):
    întoarcere '{'+ self.questionText +', '+ auto.răspuns +', '+ self.hint +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Adăugați indicii la toate întrebările din test.
    chestionareÎntrebări = [
    Întrebare("Intrebarea 1. Ce oraș este capitala Australiei", "Canberra", "Începe cu un C"),
    Întrebare("Intrebarea 2. Ce oraș este capitala Japoniei", "Tokyo", "Începe cu un T"),
    Întrebare("Întrebarea 3. Câte insule au Filipine", "7100", "Un număr între 7000 și 8000"),
    Întrebare("Întrebarea 4. Care țară are cea mai mare masă de pământ", "b", "Țara se întinde pe două continente", ["(a) Statele Unite ale Americii", "(b) Rusia", "(c) Australia", "(d) Antarctica"]),
    Întrebare("Întrebarea 5. În ce emisferă se află Japonia", "Emisfera nordică", "Jumătatea superioară a Pământului", [], ["Nord", "de Nord"]),
    ]
  3. Eliminați afirmațiile if care verifică dacă utilizatorul a răspuns corect la întrebare. Înlocuiți-le cu o buclă while. Bucla while se va bucla continuu până când utilizatorul primește răspunsul corect. În bucla while, adăugați un număr care va afișa indiciu odată ce utilizatorul obține răspunsul greșit de trei ori.
    pentru întrebare în chestionarÎntrebări:
    dacă (question.multipleChoiceOptions != Nici unul):
    tipărire (f"{question.questionText}?")
    pentruopțiuneînîntrebare.MultipleChoiceOptions:
    imprimare(opțiune)
    userInput = input()
    altfel:
    tipărire (f"{question.questionText}?")
    userInput = input()
    număr = 0
    in timp ce (userInput.lower() != întrebare.răspuns.lower()):
    dacă (question.alternateAnswers != Nici unulși userInput.lower() în question.alternateAnswers):
    pauză;
    numărare = numărare + 1
    dacă (număr >= 3):
    tipărire (f"Sugestie: {question.hint}.")
    userInput = input()
    altfel:
    print("Asta estenu corect, încerca din nou.")
    userInput = input()

    print("Asta este corect!")

  4. Reluați testul în linia de comandă folosind comanda python.
    pitonInteractiveQuiz.py
  5. Răspunde la întrebări la chestionar.

Crearea de aplicații mici folosind Python

Unul dintre proiectele pe care le puteți face în timp ce învățați cum să codificați în Python este un test interactiv. În cadrul testului, puteți prezenta diferite tipuri de întrebări utilizatorului.

Puteți stoca informații despre întrebările testului într-un obiect, pentru a vă împiedica să repetați codul pentru fiecare întrebare.

Pentru a vă îmbunătăți abilitățile în Python, este o idee bună să exersați diferite exerciții și exemple. Puteți arunca o privire la alte exemple Python care vă pot ajuta să învățați.