Hogyan készítsünk kvízjátékot Pythonban (képekkel)

Tartalomjegyzék:

Hogyan készítsünk kvízjátékot Pythonban (képekkel)
Hogyan készítsünk kvízjátékot Pythonban (képekkel)

Videó: Hogyan készítsünk kvízjátékot Pythonban (képekkel)

Videó: Hogyan készítsünk kvízjátékot Pythonban (képekkel)
Videó: How To Install Python, Setup Virtual Environment VENV, Set Default Python System Path & Install Git 2024, Lehet
Anonim

Ha meg szeretné tanulni a Python programot, érdemes néhány egyszerű szövegalapú játékkal kezdeni. Ez a cikk megmutatja, hogyan lehet kvízjátékot készíteni.

Lépések

947361 1
947361 1

1. lépés: Telepítse a Python programot, ha még nem tette meg

A Python két fő verziója létezik: Python 2 és Python 3. Ezek nem cserélhetők fel, és a Python 2 támogatása 2020 -ban megszűnik, ezért ez a cikk feltételezi, hogy telepíti a Python 3 -at.

947361 2
947361 2

2. lépés: Nyisson meg egy új fájlt egy szövegszerkesztőben vagy a Python IDE -ben

Adjon neki egy leíró nevet, amely.py végű.

947361 3
947361 3

3. lépés: Importálja a véletlenszerű könyvtárat

Szüksége lesz rá a lehetséges válaszok véletlenszerű elrendezéséhez.

947361 4
947361 4

4. lépés. Határozzon meg egy "QA" osztályt

A "QA" egy kérdésből és egy helyes válaszból, valamint a lehetséges egyéb válaszok listájából áll. A _init _ () függvény meghívásra kerül, amikor új QA objektumot hoz létre a QA () függvénnyel, annak argumentumait továbbítja a megfelelő attribútumba. Típus:

QA osztály: def _init _ (self, question, correctAnswer, otherAnswers): self.question = kérdés self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers

947361 5
947361 5

5. lépés. Hozzon létre egy minőségi listát

Gondoljon néhány kérdésre, amelyekre egy helyes és néhány rossz választ adhat. Hozzon létre QA objektumokat mindegyikből, és tegye őket egy listába. Mivel a lista meglehetősen hosszú lesz, a jobb olvashatóság érdekében több sorra bonthatja. Mindez a következő kóddal történik (a szöveg eltérő lehet):

qaList = [QA ("Hol van Minszk?", "Fehéroroszországban", ["Oroszországban", "ilyen város nem létezik"]), QA ("Mi Ausztrália fővárosa?", "Canberra", ["Sydney", "New York", "Ausztrália nem létezik"]), QA ("Az alábbiak közül melyik nincs a Földön?", "Nyugalom tengere", ["Földközi -tenger", "Balti -tenger" "," Északi -tenger "]), QA (" Az alábbiak közül melyik nem kontinens? "," Arctica ", [" Antarktisz "," Amerika "]), QA (" Az alábbiak közül melyik nem afrikai ország? ? "," Malajzia ", [" Madagaszkár "," Dzsibuti "," Dél -Afrika "," Zimbabwe "]

947361 6
947361 6

6. Adjon hozzá egy változót, amely számolja, hogy hány válasz volt helyes

Állítsa nullára az elején. Add hozzá a sort:

corrCount = 0

947361 7
947361 7

Lépés 7. Keverje meg a QA listát

Így kérdései véletlenszerű sorrendben jelennek meg. Ez a következő funkcióval történik:

random.shuffle (qaList)

947361 8
947361 8

8. lépés. Készítsen hurkot

A programnak át kell néznie a lista egyes elemeit, és valamit el kell kezdenie vele. Hozzon létre egy ilyen hurkot ezzel a kifejezéssel:

a qaItem -hez a qaList -ben:

947361 9
947361 9

9. lépés. Adjon ki minden kérdést

A ciklus kifejezés után írja be a sort:

print (qaItem.question)

947361 10
947361 10

10. lépés. Adja meg az összes lehetséges választ

Véletlen sorrendben kell megjelenniük, hogy a helyes válasz ne mindig ugyanazon a helyen legyen. Ezenkívül számok elé kell írni őket, hogy a felhasználónak ne kelljen újra megadnia a teljes választ. A következő kód ezt teszi:

print ("Lehetséges válaszok:") lehetséges = qaItem.otherAnsw + [qaItem.corrAnsw] # szögletes zárójelben a helyes választ listává alakítják, hogy összekapcsolhassák más listával random.shuffle (lehetséges) count = 0 # listaindexek 0 -tól kezdődnek a pythonban míg szám <len (lehetséges): print (str (count + 1) + ":" + lehetséges [count]) count + = 1

947361 11
947361 11

11. lépés: Vegye ki a felhasználó bejegyzését

Először mondja meg a felhasználónak, hogy meg kell adnia a számát. Ezután ellenőrizze, hogy a felhasználó által megadott adatok valóban megfelelnek -e a válasznak. Ha nem, szóljon még egyszer a felhasználónak. Használja ezt a kódot (a kimenethez létrehozott while cikluson kívül):

print ("Kérjük, adja meg válaszának számát:") userAnsw = input (), míg nem userAnsw.isdigit (): print ("Ez nem szám volt. Kérjük, adja meg a válasz számát:") userAnsw = input () userAnsw = int (userAnsw) amíg nincs (userAnsw> 0 és userAnsw <= len (lehetséges)): print ("Ez a szám nem felel meg egyetlen válasznak sem. Kérjük, adja meg a válasz számát:") userAnsw = input ()

947361 12
947361 12

12. lépés: Ellenőrizze, hogy a felhasználó válasza helyes volt -e

Ehhez szerezze be annak a válasznak a szövegét, amelyhez a felhasználó beírt egy számot, és hasonlítsa össze a helyes válasz szövegével. Ha ugyanazok, akkor a felhasználó válasza helyes volt, és a corrCount változót 1 -gyel kell növelni. Máskülönben helytelen, és a felhasználónak meg kell mondani a helyes választ. Végül nyomtasson egy üres sort, hogy helyet adjon a következő kérdéshez. Írja be a következő kódot:

ha lehetséges [userAnsw-1] == qaItem.corrAnsw: print ("A válasz helyes volt.") corrCount + = 1 else: print ("A válasz rossz volt.") print ("A helyes válasz:" + qaItem. corrAnsw) print ("")

947361 13
947361 13

13. lépés. Következtetés

Végül a felhasználó valószínűleg tudni akarja, hogy hány kérdésük volt helyes. Tehát mondja el nekik a következő kifejezés hozzáadásával a for-loop-on kívül:

print ("Te válaszoltál" + str (corrCount) + "" a " + str (len (qaList)) +" kérdések helyesen. ")

947361 14
947361 14

14. lépés. Ellenőrizze a kódot

Különös figyelmet kell fordítani a behúzásra. A teljes kódnak most így kell kinéznie:

véletlen osztályú QA importálása: def _init _ (self, question, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA ("Hol van Minszk?", "Fehéroroszországban", ["Oroszországban", "ilyen város nem létezik"]), QA ("Mi Ausztrália fővárosa?", "Canberra", ["Sydney", "New York", "Ausztrália nem létezik")]), QA ("Az alábbiak közül melyik nincs a Földön?", "Nyugalom tengere", ["Földközi -tenger", "Balti -tenger", "Északi -tenger"]), QA ("Az alábbiak közül melyik nem kontinens? "," Arctica ", [" Antarktisz "," Amerika "]), QA (" Az alábbiak közül melyik nem afrikai ország? "," Malajzia ", [" Madagaszkár "," Dzsibuti "," Dél Africa "," Zimbabwe "])] corrCount = 0 random.shuffle (qaList) for qaItem in qaList: print (qaItem.question) print (" Lehetséges válaszok: ") lehetséges = qaItem.otherAnsw + [qaItem.corrAnsw] # szögletes zárójelek a helyes választ listává alakítják, hogy összekapcsolhassák más listával random.shuffle (lehetséges) count = 0 # listaindexek 0 -tól kezdődnek n python while count <len (lehetséges): print (str (count + 1) + ":" + lehetséges [count]) count + = 1 print ("Kérjük, adja meg válaszának számát:") userAnsw = input () míg nem userAnsw.isdigit (): print ("Ez nem szám volt. Kérjük, adja meg válaszának számát: ") userAnsw = input () userAnsw = int (userAnsw), míg nem (userAnsw> 0 és userAnsw <= len (lehetséges)): print (" Ez a szám nem felel meg egyetlen válasznak sem. Kérjük, adja meg válaszának számát: ") userAnsw = input () ha lehetséges [userAnsw-1] == qaItem.corrAnsw: print (" A válasz helyes volt. ") CorrCount += 1 else: print (" A válasz helytelen. ") print (" A helyes válasz: " + qaItem.corrAnsw) print (" ") print (" Ön válaszolt " + str (corrCount) +" / " + str (len (qaList)) +" kérdések helyesen. ")

947361 15
947361 15

15. lépés: Futtassa a kódot

Ha IDE -t használ, kattintson a "Futtatás" szimbólumra vagy menüpontra. Ha szövegszerkesztőt használ, mentse el a programot, zárja be a szerkesztőt, és nyissa meg a programot a Python segítségével.

Tippek

  • Ügyeljen a helyes behúzásra. A függvényben vagy osztálydefinícióban lévő kód behúzott, mint a cikluson belüli kód. A rossz behúzással rendelkező Python program nem fog működni.
  • Nyomja meg a Ctrl+C billentyűkombinációt, ha meg akarja szakítani a játékot, és nem szeretné befejezni.
  • Ha az input () minden hívását a raw_input () hívással helyettesíti, akkor ez a program a Python 2 -ben fog működni, de a Python 3 -ban leáll.

Ajánlott: