Kui soovite Pythoni õppida, on hea alustada mõne lihtsa tekstipõhise mänguga. See artikkel näitab teile, kuidas teha viktoriinimängu.
Sammud
Samm 1. Installige Python, kui te pole seda juba teinud
Pythonil on kaks peamist versiooni: Python 2 ja Python 3. Neid ei saa vahetada ja Python 2 tugi lõpeb 2020. aastal, seega eeldatakse selles artiklis, et installite Python 3.
Samm 2. Avage uus fail tekstiredaktoris või oma Pythoni IDE -s
Andke sellele kirjeldav nimi, mis lõpeb.py.
Samm 3. Importige juhuslik kogu
Te vajate seda võimalike vastuste juhuslikuks korraldamiseks.
Samm 4. Määratlege klass "QA"
Kvaliteedikontroll koosneb küsimusest ja õigest vastusest ning võimalike muude vastuste loendist. Funktsiooni _init _ () kutsutakse esile iga kord, kui loote uue kvaliteedikontrolli objekti funktsiooniga QA (), selle argumendid edastatakse vastavale atribuudile. Tüüp:
klassi QA: def _init _ (ise, küsimus, correctAnswer, otherAnswers): self.question = küsimus self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers
Samm 5. Looge QA -de loend
Mõelge mõnele küsimusele ühe õige ja mõne vale vastusega. Looge igast kvaliteedikontrolli objekt ja pange need loendisse. Kuna loend on üsna pikk, saate parema loetavuse huvides selle mitme rea vahel jagada. Kõik see toimub järgmise koodiga (teie tekst võib olla erinev):
qaList = [QA ("Kus on Minsk?", "Valgevenes", ["Venemaal", "sellist linna pole olemas"]), QA ("Mis on Austraalia pealinn?", "Canberra", ["Sydney", "New York", "Austraaliat pole olemas"]), QA ("Milline järgmistest ei ole Maal?", "Rahu meri", ["Vahemeri", "Läänemeri" "," Põhjameri "]), QA (" Milline järgmistest ei ole kontinent? "," Arktika ", [" Antarktika "," Ameerika "]), QA (" Milline järgmistest ei ole Aafrika riik? ? "," Malaisia ", [" Madagaskar "," Djibouti "," Lõuna -Aafrika "," Zimbabwe "]
Samm 6. Lisage muutuja, mis loeb õigete vastuste arvu
Seadistage see alguses nulli. Lisage rida:
corrCount = 0
Samm 7. Segage QA loend
Nii kuvatakse teie küsimused juhuslikus järjekorras. Seda tehakse järgmise funktsiooniga:
random.shuffle (qaList)
Samm 8. Tehke silmus
Programm peaks loendi iga üksuse üle vaatama ja sellega midagi ette võtma. Loo selline silmus selle avaldisega:
qaItem jaoks qaList:
Samm 9. Väljendage iga küsimus
Pärast silmuse avaldist kirjutage rida:
print (qaItem.question)
Samm 10. Väljendage kõik võimalikud vastused
Need peaksid ilmuma juhuslikus järjekorras, et õige vastus poleks alati samas kohas. Samuti peaks nende ees olema number, et kasutaja ei peaks kogu vastust uuesti sisestama. Järgmine kood teeb seda:
print ("Võimalikud vastused on:") võimalik = qaItem.otherAnsw + [qaItem.corrAnsw] # nurksulg muudavad õige vastuse loendiks, mis ühendatakse teiste loenditega random.shuffle (võimalik) count = 0 # loendiindeksid algavad 0 -st pythonis samas loend <len (võimalik): print (str (loend + 1) + ":" + võimalik [loend]) loendus + = 1
Samm 11. Võtke kasutaja sisend
Esiteks öelge kasutajale, et ta peab sisestama oma numbri. Seejärel kontrollige, kas kasutaja sisestatud number on tõesti number, mis vastab vastusele. Kui ei, siis rääkige sellest kasutajale uuesti. Kasutage seda koodi (väljaspool väljundi jaoks loodud loopi):
print ("Palun sisestage oma vastuse number:") userAnsw = input () samas mitte userAnsw.isdigit (): print ("See ei olnud number. Palun sisestage oma vastuse number:") userAnsw = input () userAnsw = int (userAnsw), kuigi mitte (userAnsw> 0 ja userAnsw <= len (võimalik)): print ("See number ei vasta ühelegi vastusele. Palun sisestage oma vastuse number:") userAnsw = input ()
Samm 12. Kontrollige, kas kasutaja vastus oli õige
Selleks hankige vastuse tekst, mille jaoks kasutaja sisestas numbri, ja võrrelge seda õige vastuse tekstiga. Kui need on samad, oli kasutaja vastus õige ja muutujat corrCount tuleks suurendada 1 võrra. Muidu on see vale ja kasutajale tuleks öelda õige vastus. Lõpuks printige tühi rida, et lisada järgmisele küsimusele ruumi. Sisestage järgmine kood:
kui võimalik [userAnsw-1] == qaItem.corrAnsw: print ("Teie vastus oli õige.") corrCount + = 1 else: print ("Teie vastus oli vale.") print ("Õige vastus oli:" + qaItem. corrAnsw) print ("")
Samm 13. Väljundi järeldus
Lõpuks soovib kasutaja ilmselt teada, kui palju küsimusi nad õigesti said. Nii et öelge neile, lisades järgmise avaldise väljaspool silmust:
print ("Sa vastasid" + str (corrCount) + " /" + str (len (qaList)) + "küsimused õigesti.")
Samm 14. Kontrollige oma koodi
Pöörake erilist tähelepanu taandele. Teie täielik kood peaks nüüd välja nägema selline:
import juhusliku klassi QA: def _init _ (ise, küsimus, õige vastus, muu vastus): self.question = küsimus self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA ("Kus on Minsk?", "Valgevenes", ["Venemaal", "sellist linna pole olemas"]), QA ("Mis on Austraalia pealinn?", "Canberra", ["Sydney", "New York", "Austraaliat pole olemas")]), QA ("Millist järgmistest ei ole Maal?", "Rahu meri", ["Vahemeri", "Läänemeri", "Põhjameri"]), QA ("Milline järgmistest ei ole kontinent? "," Arktika ", [" Antarktika "," Ameerika "]), QA (" Milline järgmistest ei ole Aafrika riik? "," Malaisia ", [" Madagaskar "," Djibouti "," Lõuna Africa "," Zimbabwe "])] corrCount = 0 random.shuffle (qaList) for qaItem in qaList: print (qaItem.question) print (" Võimalikud vastused on: ") võimalik = qaItem.otherAnsw + [qaItem.corrAnsw] # nurksulgud muudavad õige vastuse loendiks, et ühendada see teiste juhuslike loenditega. juhuslik (võimalik) loendus = 0 # loendiindeksid algavad 0 -st n python while count <len (võimalik): print (str (count + 1) + ":" + võimalik [count]) count + = 1 print ("Palun sisesta oma vastuse number:") userAnsw = input () kuigi mitte userAnsw.isdigit (): print ("See polnud number. Palun sisestage oma vastuse number: ") userAnsw = input () userAnsw = int (userAnsw) samas mitte (userAnsw> 0 ja userAnsw <= len (võimalik)): print (" See number ei vasta ühelegi vastusele. Palun sisestage oma vastuse number: ") userAnsw = input () võimaluse korral [userAnsw-1] == qaItem.corrAnsw: print (" Teie vastus oli õige. ") CorrCount += 1 else: print (" Teie vastus oli vale. ") print (" Õige vastus oli: " + qaItem.corrAnsw) print (" ") print (" Sa vastasid " + str (corrCount) +" / " + str (len (qaList)) +" küsimused õigesti. ")
Samm 15. Käivitage kood
Kui kasutate IDE -d, klõpsake sümbolil "Käivita" või menüüelemendil. Kui kasutate tekstiredaktorit, salvestage programm, sulgege redaktor ja avage programm Pythoni abil.
Näpunäiteid
- Jälgige õiget taanet. Funktsiooni või klassi määratluse sees olev kood on taandatud, nagu ka silmuse sees olev kood. Vale taandega Pythoni programm ei tööta.
- Kui soovite mängu katkestada ja mitte lõpetada, vajutage klahvikombinatsiooni Ctrl+C.
- Kui asendate iga sisendkõne () kõne raw_input () kõnega, töötab see programm Python 2 -s, kuid lõpetab töötamise Python 3 -s.