Ikiwa unataka kujifunza chatu, ni vizuri kuanza na michezo rahisi ya msingi wa maandishi. Nakala hii itakuonyesha jinsi ya kutengeneza mchezo wa jaribio.
Hatua
Hatua ya 1. Sakinisha Python ikiwa bado haujafanya hivyo
Kuna matoleo mawili makuu ya Python: Python 2 na Python 3. Hazibadilishani na msaada wa Python 2 utaisha mnamo 2020, kwa hivyo nakala hii itafikiria kuwa unaweka Python 3.
Hatua ya 2. Fungua faili mpya katika kihariri cha maandishi au IDE yako ya Python
Ipe jina la kuelezea ambalo linaisha na.py.
Hatua ya 3. Ingiza maktaba ya nasibu
Utahitaji kupanga nasibu majibu yanayowezekana.
Hatua ya 4. Fafanua darasa "QA"
"QA" itakuwa na swali na jibu sahihi, na orodha ya majibu mengine yanayowezekana. Kazi ya _init _ () itaitwa kila unapounda kitu kipya cha QA na kazi QA (), na hoja zake zikipitishwa kwenye sifa inayofanana. Aina:
darasa QA: def _init _ (ubinafsi, swali, jibu sahihi, majibu mengine): self.question = swali self.corrAnsw = sahihiJibu mwenyewe.otherAnsw = majibu mengine
Hatua ya 5. Unda orodha ya QAs
Fikiria maswali kadhaa na jibu moja sahihi na jingine lisilofaa. Unda vitu vya QA kutoka kwa kila mmoja na uziweke kwenye orodha. Kwa kuwa orodha itakuwa ndefu kabisa, unaweza kuivunja kwa mistari mingi kwa usomaji bora. Yote hii imefanywa na nambari ifuatayo (maandishi yako yanaweza kuwa tofauti):
qaList = [QA ("Minsk iko wapi?", "huko Belarusi", ["nchini Urusi", "mji kama huo haupo"]), QA ("Je! mji mkuu wa Australia ni nini?", "Canberra", ["Sydney", "New York", "Australia haipo"]), QA ("Je! Ni yupi kati ya yafuatayo sio Duniani?", "Bahari ya Utulivu", ["Bahari ya Mediterania", "Bahari ya Baltic "," Bahari ya Kaskazini "]), QA (" Ni ipi kati ya zifuatazo sio bara? "," Arctica ", [" Antaktika "," Amerika "]), QA (" Ni ipi kati ya zifuatazo sio nchi ya Kiafrika ? "," Malaysia ", [" Madagascar "," Djibouti "," Afrika Kusini "," Zimbabwe "])]
Hatua ya 6. Ongeza kutofautisha ambayo inahesabu ni majibu ngapi yalikuwa sahihi
Weka kwa sifuri mwanzoni. Ongeza mstari:
corrCount = 0
Hatua ya 7. Changanya orodha ya QA
Hii itafanya maswali yako yaonekane kwa mpangilio. Hii imefanywa na kazi ifuatayo:
bila mpangilio.shuffle (qaList)
Hatua ya 8. Tengeneza kitanzi
Programu inapaswa kupita kila kitu kwenye orodha na kufanya kitu nayo. Unda kitanzi kama hicho na usemi huu:
kwa kipengee cha qaList:
Hatua ya 9. Pato la kila swali
Baada ya usemi wa kitanzi, andika mstari:
chapisha (swali la QaItem.)
Hatua ya 10. Pata majibu yote yanayowezekana
Wanapaswa kuonekana kwa mpangilio ili jibu sahihi lisiwe sawa kila wakati. Pia, zinapaswa kutangulizwa na nambari ili mtumiaji asiweze kuingiza jibu lote tena. Kufuata nambari hufanya hivi:
chapa ("Majibu yanayowezekana ni:") inawezekana = qaItem.otherAnsw + [qaItem.corrAnsw] # mabano ya mraba hubadilisha jibu sahihi kuwa orodha ya kuunganishwa na orodha zingine bila mpangilio. wakati hesabu
Hatua ya 11. Chukua mchango wa mtumiaji
Kwanza, mwambie mtumiaji kwamba lazima aingize nambari yao. Kisha, angalia ikiwa kile mtumiaji alichoingiza ni nambari inayolingana na jibu. Ikiwa sivyo, mwambie mtumiaji tena. Tumia nambari hii (nje ya kitanzi ulichotengeneza kwa pato):
chapa ("Tafadhali ingiza nambari ya jibu lako:") userAnsw = int (userAnsw) wakati sio (userAnsw> 0 na userAnsw <= len (inawezekana)) chapa ("Nambari hiyo hailingani na jibu lolote. Tafadhali ingiza nambari ya jibu lako:") userAnsw = input ()
Hatua ya 12. Angalia ikiwa jibu la mtumiaji lilikuwa sahihi
Ili kufanya hivyo, pata maandishi ya jibu ambalo mtumiaji aliingiza nambari na ulinganishe na maandishi ya jibu sahihi. Ikiwa ni sawa, jibu la mtumiaji lilikuwa sahihi na corrCount inayobadilika inapaswa kuongezeka kwa 1. Mwingine, ni makosa na mtumiaji anapaswa kuambiwa jibu sahihi. Mwishowe, chapisha laini tupu ili kuongeza nafasi kwenye swali linalofuata. Ingiza nambari ifuatayo:
ikiwezekana [userAnsw-1] == qaItem.corrAnsw: print ("Jibu lako lilikuwa sahihi.") corrCount + = 1 else: print ("Jibu lako lilikuwa sahihi.") chapa ("Jibu sahihi lilikuwa:" + qaItem. chapa ("")
Hatua ya 13. Pato hitimisho
Mwishowe, mtumiaji labda anataka kujua ni maswali ngapi waliyoyapata. Kwa hivyo waambie kwa kuongeza usemi ufuatao nje ya kitanzi:
chapa ("Umejibu" + str (corrCount) + "ya" + str (len (qaList)) + "maswali kwa usahihi.")
Hatua ya 14. Angalia msimbo wako
Zingatia sana uingizaji. Nambari yako kamili inapaswa kuonekana kama hii sasa:
ingiza darasa la nasibu QA: def _init _ (ubinafsi, swali, jibuJibu, majibu mengine): swali la kujiuliza = swali self.corrAnsw = sahihiJibu mwenyewe. Answ = majibu mengine qaList = [QA ("Minsk iko wapi?", "huko Belarusi", ["nchini Urusi", "mji kama huo haupo"]), QA ("Je! mji mkuu wa Australia ni nini?", "Canberra", ["Sydney", "New York", "Australia haipo"]), QA ("Je! Ni yupi kati ya yafuatayo sio Duniani?", "Bahari ya Utulivu", ["Bahari ya Mediterania", "Bahari ya Baltiki", "Bahari ya Kaskazini"]), QA ("Ni ipi kati ya zifuatazo sio bara? "," Arctica ", [" Antaktika "," Amerika "]), QA (" Je! ni ipi kati ya zifuatazo sio nchi ya Kiafrika? "," Malaysia ", [" Madagascar "," Djibouti "," Kusini Afrika "," Zimbabwe "] corrCount = 0 random.shuffle (qaList) kwa qaItem katika qaList: chapa (qaItem.question) chapisha (" Majibu yanayowezekana ni: ") inawezekana = qaItem.otherAnsw + [qaItem.corrAnsw] # mabano mraba kugeuza jibu sahihi kuwa orodha ya kujumuika na orodha zingine bila mpangilio. mseto (inawezekana) hesabu = 0 # orodha za faharisi zinaanza saa 0 i n chatu wakati hesabu wakati sio userAnsw.isdigit (): chapa ("Hiyo haikuwa nambari. Tafadhali ingiza nambari ya jibu lako: ") userAnsw = ingizo () Tafadhali ingiza nambari ya jibu lako: ") userAnsw = input () ikiwezekana [userAnsw-1] == qaItem.corrAnsw: chapa (" Jibu lako lilikuwa sahihi. ") CorrCount + = 1 else: print (" Jibu lako lilikuwa chapa. ") chapa (" Jibu sahihi lilikuwa: "+ qaItem.corrAnsw) chapisha (" ") chapisha (" Ulijibu "+ str (corrCount) +" ya "+ str (len (qaList)) +" maswali kwa usahihi. ")
Hatua ya 15. Tumia msimbo
Ikiwa unatumia IDE, bonyeza alama ya "Run" au kipengee cha menyu. Ikiwa unatumia kihariri cha maandishi, salama programu yako, funga mhariri, na ufungue programu yako na Python.
Vidokezo
- Jihadharini na ujazo sahihi. Nambari ndani ya ufafanuzi wa kazi au darasa imejumuishwa, kama ilivyo kwa msimbo ndani ya kitanzi. Programu ya chatu iliyo na ujazo usiofaa haitafanya kazi.
- Bonyeza Ctrl + C ikiwa unataka kusumbua mchezo na usimalize.
- Ukibadilisha kila simu ya ingizo () na simu ya raw_input (), programu hii itafanya kazi katika Python 2, lakini acha kufanya kazi katika Python 3.