Če se želite naučiti Pythona, je dobro začeti z nekaj preprostimi tekstovnimi igrami. Ta članek vam bo pokazal, kako narediti kviz.
Koraki
Korak 1. Namestite Python, če tega še niste storili
Obstajata dve glavni različici Pythona: Python 2 in Python 3. Nista zamenljiva in podpora za Python 2 se bo končala leta 2020, zato bo v tem članku predvideno, da namestite Python 3.
Korak 2. Odprite novo datoteko v urejevalniku besedil ali Python IDE
Dajte mu opisno ime, ki se konča z.py.
Korak 3. Uvozi naključno knjižnico
Potrebovali ga boste za naključno razporeditev možnih odgovorov.
Korak 4. Določite razred "QA"
"QA" bo sestavljen iz vprašanja in pravilnega odgovora ter seznama možnih drugih odgovorov. Funkcija _init _ () bo poklicana vsakič, ko ustvarite nov objekt QA s funkcijo QA (), njegovi argumenti pa bodo posredovani v ustrezen atribut. Vrsta:
razred QA: def _init _ (samo, vprašanje, pravilni odgovor, drugi odgovori): samo.vprašanje = vprašanje samo.corrAnsw = pravilno Odgovori sam.otherAnsw = otherAnswers
Korak 5. Ustvarite seznam QA
Pomislite na nekaj vprašanj z enim pravim in nekaj napačnim odgovorom. Ustvarite predmete QA iz vsakega in jih vnesite na seznam. Ker bo seznam precej dolg, ga lahko za boljšo berljivost razdelite na več vrstic. Vse to naredite z naslednjo kodo (besedilo je lahko drugačno):
qaList = [QA ("Kje je Minsk?", "v Belorusiji", ["v Rusiji", "takšno mesto ne obstaja"]), QA ("Kaj je glavno mesto Avstralije?", "Canberra", ["Sydney", "New York", "Avstralija ne obstaja"]), QA ("Kaj od naštetega ni na Zemlji?", "Morje miru", "" Sredozemsko morje "," Baltsko morje "," Severno morje "]), QA (" Kaj od naštetega ni celina? "," Arktika ", [" Antarktika "," Amerika "]), QA (" Kaj od naslednjega ni afriška država ? "," Malezija ", [" Madagaskar "," Džibuti "," Južna Afrika "," Zimbabve "])]
Korak 6. Dodajte spremenljivko, ki šteje, koliko odgovorov je bilo pravilnih
Na začetku nastavite na nič. Dodajte vrstico:
corrCount = 0
Korak 7. Naključno premešajte seznam QA
Tako bodo vaša vprašanja prikazana v naključnem vrstnem redu. To se naredi z naslednjo funkcijo:
random.shuffle (qaList)
Korak 8. Naredite zanko
Program bi moral pregledati vsako postavko na seznamu in narediti nekaj z njo. Ustvarite takšno zanko s tem izrazom:
za qaItem na seznamu qaList:
Korak 9. Odpišite vsako vprašanje
Po izrazu zanke napišite vrstico:
tiskanje (qaItem.question)
Korak 10. Iznesite vse možne odgovore
Prikazati se morajo v naključnem vrstnem redu, tako da pravilen odgovor ni vedno na istem mestu. Pred njimi mora biti tudi številka, tako da uporabniku ne bo treba znova vnesti celotnega odgovora. Naslednja koda to naredi:
Print ("Možni odgovori so:") medtem ko count <len (možno): print (str (count + 1) + ":" + mogoče [count]) count + = 1
Korak 11. Vnesite vnos uporabnika
Najprej povejte uporabniku, da mora vnesti svojo številko. Nato preverite, ali je tisto, kar je uporabnik vnesel, res številka, ki ustreza odgovoru. Če ni, to znova povejte uporabniku. Uporabite to kodo (zunaj zanke while, ki ste jo ustvarili za izhod):
print ("Prosimo, vnesite številko svojega odgovora:") userAnsw = input (), medtem ko ni userAnsw.isdigit (): print ("To ni bila številka. Vnesite številko svojega odgovora:") userAnsw = input () userAnsw = int (userAnsw) medtem ko ne (userAnsw> 0 in userAnsw <= len (mogoče)): print ("Ta številka ne ustreza nobenemu odgovoru. Vnesite številko svojega odgovora:") userAnsw = input ()
Korak 12. Preverite, ali je bil uporabnikov odgovor pravilen
Če želite to narediti, dobite besedilo odgovora, za katerega je uporabnik vnesel številko, in ga primerjajte z besedilom pravilnega odgovora. Če so enaki, je bil uporabnikov odgovor pravilen in spremenljivko corrCount je treba povečati za 1. V nasprotnem primeru je napačna in uporabniku je treba povedati pravilen odgovor. Na koncu natisnite prazno vrstico, da naslednjemu vprašanju dodate nekaj prostora. Vnesite naslednjo kodo:
če je mogoče [userAnsw-1] == qaItem.corrAnsw: print ("Vaš odgovor je bil pravilen.") corrCount + = 1 else: print ("Vaš odgovor je bil napačen.") print ("Pravilni odgovor je bil:" + qaItem. corrAnsw) print ("")
Korak 13. Iznesite zaključek
Na koncu uporabnik verjetno želi vedeti, koliko vprašanj je imel prav. Zato jim povejte tako, da dodate naslednji izraz zunaj zanke for:
print ("Pravilno ste odgovorili" + str (corrCount) + "od" + str (len (qaList)) + "vprašanja pravilno.")
Korak 14. Preverite kodo
Posebno pozornost posvetite vdolbini. Vaša celotna koda bi morala izgledati tako:
uvoz naključnega razreda QA: def _init _ (samo, vprašanje, pravilen odgovor, drugi odgovori): samo.prašanje = vprašanje samo.corrAnsw = pravilenOdgovor self.otherAnsw = otherAnswers qaList = [QA ("Kje je Minsk?", "v Belorusiji", ["v Rusiji", "takšno mesto ne obstaja"]), QA ("Kaj je glavno mesto Avstralije?", "Canberra", ["Sydney", "New York", "Avstralija ne obstaja")]), QA ("Kaj od naštetega ni na Zemlji?", "Morje spokojnosti", ["Sredozemsko morje", "Baltsko morje", "Severno morje"]), QA ("Kaj od naštetega ni celina? "," Arktika ", [" Antarktika "," Amerika "]), QA (" Kaj od naštetega ni afriška država? "," Malezija ", [" Madagaskar "," Džibuti "," Jug Africa "," Zimbabwe "])] corrCount = 0 random.shuffle (qaList) for qaItem in qaList: print (qaItem.question) print (" Možni odgovori so: ") possible = qaItem.otherAnsw + [qaItem.corrAnsw] # oglati oklepaji spremenijo pravilen odgovor v seznam za združevanje z drugim naključnim seznamom.shuffle (možen) count = 0 # indeksa seznama se začne pri 0 i n python while count <len (možen): print (str (count + 1) + ":" + možen [count]) count + = 1 print ("Prosimo, vnesite številko svojega odgovora:") userAnsw = input () medtem ko ni userAnsw.isdigit (): print ("To ni bila številka. Prosimo, vnesite številko svojega odgovora: ") userAnsw = input () userAnsw = int (userAnsw), medtem ko ne (userAnsw> 0 in userAnsw <= len (mogoče)): print (" Ta številka ne ustreza nobenemu odgovoru. Prosimo, vnesite številko svojega odgovora: ") userAnsw = input () če je mogoče [userAnsw-1] == qaItem.corrAnsw: print (" Vaš odgovor je bil pravilen. ") CorrCount += 1 else: print (" Vaš odgovor je bil napačno. ") print (" Pravilni odgovor je bil: " + qaItem.corrAnsw) print (" ") print (" Odgovorili ste " + str (corrCount) +" od " + str (len (qaList)) +" vprašanja pravilno. ")
Korak 15. Zaženite kodo
Če uporabljate IDE, kliknite simbol "Zaženi" ali element menija. Če uporabljate urejevalnik besedil, shranite program, zaprite urejevalnik in odprite program s programom Python.
Nasveti
- Pazite na pravilno vdolbino. Koda v definiciji funkcije ali razreda je zamikana, prav tako koda v zanki. Program Python z napačno zamiko ne bo deloval.
- Pritisnite Ctrl+C, če želite igro prekiniti in je ne dokončati.
- Če vsak klic input () zamenjate s klicem raw_input (), bo ta program deloval v Pythonu 2, v Pythonu 3 pa prenehal delovati.