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
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.
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ű.
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.
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
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 "]
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
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)
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:
9. lépés. Adjon ki minden kérdést
A ciklus kifejezés után írja be a sort:
print (qaItem.question)
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
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 ()
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 ("")
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. ")
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. ")
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.