Si të bëni një lojë kuizi në Python (me fotografi)

Përmbajtje:

Si të bëni një lojë kuizi në Python (me fotografi)
Si të bëni një lojë kuizi në Python (me fotografi)

Video: Si të bëni një lojë kuizi në Python (me fotografi)

Video: Si të bëni një lojë kuizi në Python (me fotografi)
Video: PESË hapat për tu bërë një Software Developer-Ep3 Shqip 2024, Mund
Anonim

Nëse doni të mësoni Python, është mirë të filloni me disa lojëra të thjeshta të bazuara në tekst. Ky artikull do t'ju tregojë se si të bëni një lojë kuizi.

Hapa

947361 1
947361 1

Hapi 1. Instaloni Python nëse nuk e keni bërë tashmë

Ekzistojnë dy versione kryesore të Python: Python 2 dhe Python 3. Ato nuk janë të këmbyeshme dhe mbështetja për Python 2 do të përfundojë në vitin 2020, kështu që ky artikull do të supozojë se ju instaloni Python 3.

947361 2
947361 2

Hapi 2. Hapni një skedar të ri në një redaktues teksti ose Python IDE tuaj

Jepini atij një emër përshkrues që përfundon me.py.

947361 3
947361 3

Hapi 3. Importoni bibliotekën e rastësishme

Do t'ju duhet për të rregulluar rastësisht përgjigjet e mundshme.

947361 4
947361 4

Hapi 4. Përcaktoni një klasë "QA"

Një "QA" do të përbëhet nga një pyetje dhe një përgjigje e saktë, dhe një listë me përgjigje të tjera të mundshme. Funksioni _init _ () do të thirret sa herë që krijoni një objekt të ri QA me funksionin QA (), me argumentet e tij që kalojnë në atributin përkatës. Lloji:

klasa QA: def _init _ (vetja, pyetja, përgjigja e saktë, përgjigjet e tjera): vetja.pyetja = pyetja vetë.corrAnsw = korrigjoji vetes.jetërAnsw = përgjigje të tjera

947361 5
947361 5

Hapi 5. Krijoni një listë të QA -ve

Mendoni për disa pyetje me një përgjigje të drejtë dhe disa të gabuara. Krijoni objekte QA nga secili dhe vendosini ato në një listë. Meqenëse lista do të jetë mjaft e gjatë, mund ta thyeni atë në rreshta të shumtë për lexueshmëri më të mirë. E gjithë kjo bëhet me kodin e mëposhtëm (teksti juaj mund të jetë i ndryshëm):

qaList = [QA ("Ku është Minsk?", "në Bjellorusi", ["në Rusi", "një qytet i tillë nuk ekziston"]), QA ("Cili është kryeqyteti i Australisë?", "Canberra",

947361 6
947361 6

Hapi 6. Shtoni një ndryshore që numëron sa përgjigje ishin të sakta

Vendoseni atë në zero në fillim. Shtoni rreshtin:

korrCount = 0

947361 7
947361 7

Hapi 7. Përzieni listën e cilësisë

Kjo do t'i bëjë pyetjet tuaja të shfaqen në një mënyrë të rastësishme. Kjo bëhet me funksionin e mëposhtëm:

i rastësishëm. përzierje (qaList)

947361 8
947361 8

Hapi 8. Bëni një lak

Programi duhet të kalojë çdo artikull të listës dhe të bëjë diçka me të. Krijoni një lak të tillë me këtë shprehje:

për qaItem në qaList:

947361 9
947361 9

Hapi 9. Nxirrni secilën pyetje

Pas shprehjes së lakut, shkruani rreshtin:

print (qaItem.pyetje)

947361 10
947361 10

Hapi 10. Nxirrni të gjitha përgjigjet e mundshme

Ato duhet të shfaqen në një mënyrë të rastësishme në mënyrë që përgjigja e saktë të mos jetë gjithmonë në të njëjtin pozicion. Gjithashtu, ato duhet të parashtrohen nga një numër në mënyrë që përdoruesi të mos ketë nevojë të fusë përsëri të gjithë përgjigjen. Kodi i mëposhtëm e bën këtë:

print ("Përgjigjet e mundshme janë:") e mundshme = qaItem.otherAnsw + [qaItem.corrAnsw] # kllapa katrore e kthejnë përgjigjen e saktë në listë për t'u lidhur me listat e tjera të rastësishme. përzierja (e mundshme) numërimi = 0 # indekset e listave fillojnë në 0 në python ndërsa numërimi <len (e mundur): print (str (numërimi + 1) + ":" + e mundur [numërimi]) numërimi + = 1

947361 11
947361 11

Hapi 11. Merrni të dhënat e përdoruesit

Së pari, tregoni përdoruesit se duhet të shkruajë numrin e tyre. Pastaj, kontrolloni nëse ajo që futi përdoruesi është me të vërtetë një numër që korrespondon me një përgjigje. Nëse nuk është kështu, tregojeni përsëri përdoruesit. Përdorni këtë kod (jashtë lakut while që keni krijuar për daljen):

print ("Ju lutemi shkruani numrin e përgjigjes suaj:") userAnsw = input () ndërsa jo userAnsw.isdigit (): print ("Ky nuk ishte një numër. Ju lutemi shkruani numrin e përgjigjes suaj:") userAnsw = input () userAnsw = int (userAnsw) ndërsa jo (userAnsw> 0 dhe userAnsw <= len (e mundur)): print ("Ai numër nuk korrespondon me asnjë përgjigje. Ju lutemi shkruani numrin e përgjigjes suaj:") userAnsw = input ()

947361 12
947361 12

Hapi 12. Kontrolloni nëse përgjigja e përdoruesit ishte e saktë

Për ta bërë këtë, merrni tekstin e përgjigjes për të cilën përdoruesi futi një numër dhe krahasojeni atë me tekstin e përgjigjes së saktë. Nëse ato janë të njëjta, përgjigja e përdoruesit ishte e saktë dhe ndryshorja korrCount duhet të rritet me 1. Përndryshe, është e gabuar dhe përdoruesit duhet t'i thuhet përgjigja e saktë. Së fundi, shtypni një rresht bosh për t'i shtuar hapësirë pyetjes tjetër. Shkruani kodin e mëposhtëm:

nëse është e mundur [userAnsw-1] == qaItem.corrAnsw: print ("Përgjigjja juaj ishte e saktë.") corrCount + = 1 tjetër: print ("Përgjigjja juaj ishte e gabuar.") print ("Përgjigjja e saktë ishte:" + qaItem. corrAnsw) print ("")

947361 13
947361 13

Hapi 13. Nxirrni një përfundim

Në fund, përdoruesi me siguri dëshiron të dijë se sa pyetje kanë marrë si duhet. Pra, tregojuni atyre duke shtuar shprehjen e mëposhtme jashtë lakut for:

print ("Ju jeni përgjigjur" + str (corrCount) + "e" + str (len (qaList)) + "pyetjet saktë.")

947361 14
947361 14

Hapi 14. Kontrolloni kodin tuaj

Kushtojini vëmendje të veçantë dhëmbëzimit. Kodi juaj i plotë duhet të duket kështu tani:

importoni klasë të rastësishme QA: def _init _ (vetja, pyetja, përgjigja e saktë, përgjigjet e tjera): self.question = pyetja self.corrAnsw = saktëAnswer vet.otherAnsw = otherAnswers qaList = [QA ("Ku është Minsk?", "në Bjellorusi", ["në Rusi", "një qytet i tillë nuk ekziston"]), QA ("Cili është kryeqyteti i Australisë?", "Canberra", ["Sydney", "New York", "Australia nuk ekziston"]), QA ("Cila nga të mëposhtmet nuk është në Tokë?", "Deti i Qetësisë", ["Deti Mesdhe", "Deti Baltik", "Deti i Veriut"]), QA ("Cila nga sa më poshtë nuk është një kontinent? "," Arktika ", [" Antarktida "," Amerika "]), QA (" Cili nga të mëposhtmet nuk është një vend afrikan? "," Malajzia ", [" Madagaskar "," Xhibuti "," Jug Afrika "," Zimbabwe "])] corrCount = 0 përzierje e rastësishme (qaList) për qaItem në qaList: print (qaItem.question) print (" Përgjigjet e mundshme janë: ") e mundshme = qaItem.otherAnsw + [qaItem.corrAnsw] # kllapat katrore e kthejnë përgjigjen e saktë në listë për t'u bashkuar me listat e tjera të rastësishme. përzierje (e mundur) numërimi = 0 # indekset e listave fillojnë në 0 i n python ndërsa numëron <len (e mundur): print (str (numër + 1) + ":" + e mundur [numërim]) numër + = 1 print ("Ju lutemi shkruani numrin e përgjigjes suaj:") userAnsw = input () ndërsa jo userAnsw.isdigit (): print ("Ky nuk ishte një numër. Ju lutemi shkruani numrin e përgjigjes suaj: ") userAnsw = input () userAnsw = int (userAnsw) ndërsa jo (userAnsw> 0 dhe userAnsw <= len (e mundur)): print (" Ky numër nuk korrespondon me asnjë përgjigje Ju lutemi shkruani numrin e përgjigjes suaj: ") userAnsw = input () nëse është e mundur [userAnsw-1] == qaItem.corrAnsw: print (" Përgjigjja juaj ishte e saktë. ") CorrCount += 1 tjetër: print (" Përgjigjja juaj ishte gabim. ") print (" Përgjigjja e saktë ishte: " + qaItem.corrAnsw) print (" ") print (" Ju jeni përgjigjur " + str (corrCount) +" e " + str (len (qaList)) +" pyetjeve të sakta. ")

947361 15
947361 15

Hapi 15. Drejtoni kodin

Nëse jeni duke përdorur një IDE, klikoni në simbolin "Run" ose artikullin e menysë. Nëse jeni duke përdorur një redaktues teksti, ruani programin tuaj, mbyllni redaktorin dhe hapni programin tuaj me Python.

Këshilla

  • Kini kujdes për dhëmbëzimin e saktë. Kodi brenda një funksioni ose përkufizimi të klasës është i prerë, siç është kodi brenda një lak. Një program Python me dhëmbëzim të gabuar nuk do të funksionojë.
  • Shtypni Ctrl+C nëse doni të ndërprisni lojën dhe të mos e përfundoni atë.
  • Nëse zëvendësoni çdo thirrje hyrëse () me një thirrje të raw_input (), ky program do të funksionojë në Python 2, por ndaloni së punuari në Python 3.

Recommended: