Gyakorolhatja a programozást, ha rövid parancssori projekteket készít Pythonban. Az egyik elkészíthető projekt egy interaktív kvíz, ahol különféle kérdéseket tehet fel a felhasználónak.

A feltehető kérdések közé tartoznak a feleletválasztós kérdések, vagy olyan kérdések, amelyekre írásbeli választ kell adni. Olyan kérdéseket is feltehet, amelyekre alternatív helyes válaszok vannak. Még azt is megteheti, hogy a program tippeket adjon a felhasználónak.

A Python-szkript létrehozása és az első kvízkérdés hozzáadása

Hozzon létre egy Python-fájlt, és adja hozzá az első kérdést. Ha még nem kódolt Pythonban, számos kurzus és forrás található, ahol megteheti tanuld meg a Python-t ingyen.

  1. Hozzon létre egy új szöveges fájlt "InteractiveQuiz.py" néven.
  2. Nyissa meg a fájlt bármely szövegszerkesztővel, és adja hozzá az első nyomtatott nyilatkozatot, hogy üdvözölje a felhasználót a kvízben.
    nyomtatás("Szervusz, üdvözöllek a földrajzi vetélkedőn. Válaszolj a kérdésekre mint bemutatják.")
  3. Tegye fel az első kérdést a felhasználónak. Az input() függvény segítségével várja meg a felhasználó válaszát, és tárolja a bemenetet a "userInput" változóban.
    nyomtatás("1. kérdés. Melyik város Ausztrália fővárosa?")
    userInput = input()
  4. Adjon hozzá egy feltételt annak ellenőrzésére, hogy a felhasználó bevitele megegyezik-e a helyes válasszal. Ha a felhasználó helyesen válaszolt, jelenítsen meg neki egy „helyes” üzenetet. Ha nem, jelenítse meg a helyes választ.
    if (userInput.lower() == "Canberra".Alsó()):
    print ("Az van helyes!")
    más:
    print("Elnézést, a helyes válasz van Canberra.")
  5. A kvíz futtatásához és a kérdés működőképességének teszteléséhez nyissa meg a parancssort, és navigáljon a Python-fájl helyére. Például, ha a fájlt egy Desktop nevű könyvtárban tárolta, a parancs a következő lenne:
    CD Asztali
  6. Futtassa a python parancsot a kvíz végrehajtásához.
    pitonInteraktív kvíz.py
  7. Adjon választ a kvíz kérdésére.

Több kérdés hozzáadása a kvízhez

A fenti kód megismétlésével több kérdést is felvehet. Ez azonban szükségtelenül meghosszabbítja a kódot, és nehezebb lesz frissíteni. A jobb megközelítés érdekében tárolja a kérdéssel kapcsolatos információkat egy objektumban.

  1. A Python-fájl tetején adjon hozzá egy osztályt a kvízkérdéssel kapcsolatos információk tárolására. Ha még nem tette meg, többet megtudhat arról, hogyan kell ezt megtenni hozzon létre egy osztályt Pythonban.
    osztályKérdés:
    def__benne__(én, kérdésSzöveg, válasz):
    maga.questionText = questionText
    maga.válasz = válasz

    def__repr__(maga):
    Visszatérés '{'+ self.questionText +', '+ saját.válasz +'}'

  2. Adjon hozzá egy sor kérdésobjektumot az osztály alá. Ezek az objektumok tárolják a kérdés szövegét, amelyet a kvíz megjelenít a felhasználó számára, a helyes válasz mellett.
    quizQuestions = [
    Kérdés("1. kérdés. Melyik város Ausztrália fővárosa", "Canberra"),
    Kérdés("2. kérdés. Melyik város Japán fővárosa", "Tokió"),
    Kérdés("3. kérdés Hány szigete van a Fülöp-szigeteknek", "7100")
    ]
  3. Cserélje ki a meglévő if utasítást és a felhasználói beviteli kódot. Ehelyett használjon egy for ciklust a quizQuestions tömbön való iterációhoz. Minden kérdésnél jelenítse meg a kérdést, és hasonlítsa össze a felhasználó által megadott adatokat a helyes válasszal.
    kvízkérdésekhez:
    nyomtatás (f"{question.questionText}?")
    userInput = input()
    if (userInput.lower() == question.answer.lower()):
    print ("Az van helyes!")
    más:
    print (f"Elnézést, a helyes válasz van {kérdés válasz}.")

Feleletválasztós kérdések hozzáadása

A Kérdés osztály kibővíthető a feleletválasztós kérdésekhez.

  1. Módosítsa a Question osztályt a fájl tetején. Adjon hozzá egy multipleChoiceOptions nevű opcionális attribútumot.
    osztályKérdés:
    def__benne__(self, questionText, answer, multipleChoiceOptions=Nincs):
    maga.questionText = questionText
    maga.válasz = válasz
    maga.multipleChoiceOptions = multipleChoiceOptions

    def__repr__(maga):
    Visszatérés '{'+ self.questionText +', '+ saját.válasz +', '+ str (self.multipleChoiceOptions) +'}'

  2. Adjon hozzá egy másik kérdést a quizQuestions tömbhöz. Tároljon néhány feleletválasztós lehetőséget a kérdéshez.
    quizQuestions = [
    Kérdés("1. kérdés. Melyik város Ausztrália fővárosa", "Canberra"),
    Kérdés("2. kérdés. Melyik város Japán fővárosa", "Tokió"),
    Kérdés("3. kérdés Hány szigete van a Fülöp-szigeteknek", "7100"),
    Kérdés("4. kérdés. Melyik ország foglalja el a legtöbb földet", "b", ["a) Egyesült Államok", "b) Oroszország", "c) Ausztrália", "d) Antarktisz"]),
    ]
  3. Módosítsa a for ciklus azon részét, amely a kérdést megjeleníti a felhasználó számára. Ha létezik feleletválasztós lehetőség a kérdéshez, jelenítse meg őket a kérdés után, és mielőtt lekérné a felhasználó bevitelét.
    kvízkérdésekhez:
    ha (question.multipleChoiceOptions != Egyik sem):
    nyomtatás (f"{question.questionText}?")
    számáraválasztási lehetőségban benkérdés.multipleChoiceOptions:
    nyomtatás(választási lehetőség)
    userInput = input()
    más:
    nyomtatás (f"{question.questionText}?")
    userInput = input()

    if (userInput.lower() == question.answer.lower()):
    print ("Az van helyes!")
    más:
    print (f"Elnézést, a helyes válasz van {kérdés válasz}.")

Hogyan adjunk hozzá olyan kérdést, amelyre alternatív helyes válaszok vannak

Néha vannak olyan kérdések, amelyekre a felhasználó beírhatja a válasz egy részét, de technikailag még mindig helyes.

Például a kvíz egyik kérdése lehet: „Melyik féltekén található Japán?”. Ebben az esetben a felhasználó beírhatja az „észak”, „északi” vagy „északi félteke” kifejezést, és továbbra is helyes.

  1. Adjon hozzá egy másik opcionális attribútumot a Kérdés osztályhoz. Ez az attribútum tartalmazza a felhasználó által megadható lehetséges alternatív helyes válaszokat.
    osztályKérdés:
    def__benne__(self, questionText, answer, multipleChoiceOptions=Nincs, alternateAnswers=Nincs):
    maga.questionText = questionText
    maga.válasz = válasz
    maga.multipleChoiceOptions = multipleChoiceOptions
    maga.alternateAnswers = alternateAnswers

    def__repr__(maga):
    Visszatérés '{'+ self.questionText +', '+ saját.válasz +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Adjon hozzá egy másik kérdést a quizQuestions tömbhöz. Helyes válaszként adja hozzá az „északi félteke” kifejezést. Adja hozzá az "északi" és az "északi" kifejezést alternatív helyes válaszként.
    quizQuestions = [
    #...
    Kérdés("5. kérdés. Melyik féltekén található Japán?", "Északi félteke", [], ["északi", "északi"]),
    ]
  3. Adjon hozzá egy másik feltételt az if utasításhoz, amely ellenőrzi, hogy a felhasználó alternatív helyes választ adott-e be.
    if (userInput.lower() == question.answer.lower()):
    print ("Az van helyes!")
    elif (question.alternateAnswers != Egyik semés userInput.lower() ban ben kérdés.alternateAnswers):
    print ("Az van helyes!")
    más:
    print (f"Elnézést, a helyes válasz van {kérdés válasz}.")

Hogyan adjunk tippeket a felhasználónak

Módosíthatja a szkriptet úgy, hogy a felhasználó ne tudjon továbblépni a következő szakaszba mindaddig, amíg az aktuális kérdést meg nem oldja. Ebben az esetben adjon hozzá egy változót, amely megszámolja, hogy a felhasználó hányszor adott rossz választ. Három helytelen tippelés után tippet adhat a felhasználónak.

  1. Módosítsa a Question osztályt egy új hint attribútum használatához.
    osztályKérdés:
    def__benne__(self, questionText, answer, hint=Nincs, multipleChoiceOptions=Nincs, alternateAnswers=Nincs):
    maga.questionText = questionText
    maga.válasz = válasz
    maga.hint = tipp
    maga.multipleChoiceOptions = multipleChoiceOptions
    maga.alternateAnswers = alternateAnswers

    def__repr__(maga):
    Visszatérés '{'+ self.questionText +', '+ saját.válasz +', '+ self.hint +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Adjon tippeket a kvíz összes kérdéséhez.
    quizQuestions = [
    Kérdés("1. kérdés. Melyik város Ausztrália fővárosa", "Canberra", "C betűvel kezdődik"),
    Kérdés("2. kérdés. Melyik város Japán fővárosa", "Tokió", "T betűvel kezdődik"),
    Kérdés("3. kérdés Hány szigete van a Fülöp-szigeteknek", "7100", "7000 és 8000 közötti szám"),
    Kérdés("4. kérdés. Melyik ország foglalja el a legtöbb földet", "b", "Az ország két kontinenst ölel fel", ["a) Egyesült Államok", "b) Oroszország", "c) Ausztrália", "d) Antarktisz"]),
    Kérdés("5. kérdés. Melyik féltekén található Japán?", "Északi félteke", "A Föld felső fele", [], ["északi", "északi"]),
    ]
  3. Távolítsa el az if utasításokat, amelyek ellenőrzik, hogy a felhasználó helyesen válaszolt-e a kérdésre. Cserélje ki ezeket egy while hurokkal. A while ciklus folyamatosan ismétlődik, amíg a felhasználó helyes választ nem kap. A while cikluson belül adjon hozzá egy számlálót, amely megjeleníti a tippet, ha a felhasználó háromszor rossz választ kap.
    kvízkérdésekhez:
    ha (question.multipleChoiceOptions != Egyik sem):
    nyomtatás (f"{question.questionText}?")
    számáraválasztási lehetőségban benkérdés.multipleChoiceOptions:
    nyomtatás(választási lehetőség)
    userInput = input()
    más:
    nyomtatás (f"{question.questionText}?")
    userInput = input()
    szám = 0
    míg (userInput.lower() != question.answer.lower()):
    ha (question.alternateAnswers != Egyik semés userInput.lower() ban ben kérdés.alternateAnswers):
    szünet;
    számolás = számolás + 1
    ha (szám >= 3):
    nyomtatás (f"Tipp: {question.hint}.")
    userInput = input()
    más:
    print ("Az vannem helyes, próbálja meg újra.")
    userInput = input()

    print ("Az van helyes!")

  4. Futtassa újra a kvízt a parancssorban a python paranccsal.
    pitonInteraktív kvíz.py
  5. Válaszoljon a kvíz kérdéseire.

Kis alkalmazások létrehozása Python használatával

Az egyik olyan projekt, amelyet a Pythonban való kódolás megtanulása közben megvalósíthat, egy interaktív kvíz. A kvízben különböző típusú kérdéseket tud bemutatni a felhasználónak.

A kvízkérdésekről információkat tárolhat egy objektumban, így megakadályozhatja, hogy minden kérdésnél megismételje a kódját.

A Pythonban szerzett készségek fejlesztéséhez érdemes különféle gyakorlatokat és példákat gyakorolni. Megnézhet más Python-példákat, amelyek segíthetnek a tanulásban.