Jinsi ya Kutengeneza Mchezo wa Jaribio katika Chatu (na Picha)

Orodha ya maudhui:

Jinsi ya Kutengeneza Mchezo wa Jaribio katika Chatu (na Picha)
Jinsi ya Kutengeneza Mchezo wa Jaribio katika Chatu (na Picha)

Video: Jinsi ya Kutengeneza Mchezo wa Jaribio katika Chatu (na Picha)

Video: Jinsi ya Kutengeneza Mchezo wa Jaribio katika Chatu (na Picha)
Video: Jinsi ya kufanya setting za WhatsApp status 2024, Mei
Anonim

Ikiwa unataka kujifunza chatu, ni vizuri kuanza na michezo rahisi ya msingi wa maandishi. Nakala hii itakuonyesha jinsi ya kutengeneza mchezo wa jaribio.

Hatua

947361 1
947361 1

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.

947361 2
947361 2

Hatua ya 2. Fungua faili mpya katika kihariri cha maandishi au IDE yako ya Python

Ipe jina la kuelezea ambalo linaisha na.py.

947361 3
947361 3

Hatua ya 3. Ingiza maktaba ya nasibu

Utahitaji kupanga nasibu majibu yanayowezekana.

947361 4
947361 4

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

947361 5
947361 5

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 "])]

947361 6
947361 6

Hatua ya 6. Ongeza kutofautisha ambayo inahesabu ni majibu ngapi yalikuwa sahihi

Weka kwa sifuri mwanzoni. Ongeza mstari:

corrCount = 0

947361 7
947361 7

Hatua ya 7. Changanya orodha ya QA

Hii itafanya maswali yako yaonekane kwa mpangilio. Hii imefanywa na kazi ifuatayo:

bila mpangilio.shuffle (qaList)

947361 8
947361 8

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:

947361 9
947361 9

Hatua ya 9. Pato la kila swali

Baada ya usemi wa kitanzi, andika mstari:

chapisha (swali la QaItem.)

947361 10
947361 10

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

947361 11
947361 11

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 ()

947361 12
947361 12

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 ("")

947361 13
947361 13

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.")

947361 14
947361 14

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. ")

947361 15
947361 15

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.

Ilipendekeza: