Paano Gumawa ng Quiz Game sa Python (na may Mga Larawan)

Talaan ng mga Nilalaman:

Paano Gumawa ng Quiz Game sa Python (na may Mga Larawan)
Paano Gumawa ng Quiz Game sa Python (na may Mga Larawan)

Video: Paano Gumawa ng Quiz Game sa Python (na may Mga Larawan)

Video: Paano Gumawa ng Quiz Game sa Python (na may Mga Larawan)
Video: PAANO GUMAWA NG TIMER PARA SA IYONG POWERPOINT PRESENTATION? 2024, Mayo
Anonim

Kung nais mong malaman ang Python, magandang magsimula sa ilang simpleng mga larong batay sa teksto. Ipapakita sa iyo ng artikulong ito kung paano gumawa ng laro ng pagsusulit.

Mga hakbang

947361 1
947361 1

Hakbang 1. I-install ang Python kung hindi mo pa nagagawa

Mayroong dalawang pangunahing bersyon ng Python: Python 2 at Python 3. Hindi sila maaaring palitan at ang suporta para sa Python 2 ay magtatapos sa 2020, kaya ipalagay ng artikulong ito na na-install mo ang Python 3.

947361 2
947361 2

Hakbang 2. Magbukas ng isang bagong file sa isang text editor o iyong Python IDE

Bigyan ito ng isang naglalarawang pangalan na nagtatapos sa.py.

947361 3
947361 3

Hakbang 3. I-import ang random library

Kakailanganin mo ito upang sapalarang ayusin ang mga posibleng sagot.

947361 4
947361 4

Hakbang 4. Tukuyin ang isang klase na "QA"

Ang isang "QA" ay binubuo ng isang katanungan at tamang sagot, at isang listahan ng mga posibleng ibang sagot. Ang function na _init _ () ay tatawagan tuwing lumikha ka ng isang bagong bagay na QA na may pagpapaandar na QA (), kasama ang mga argumento na ipinapasa sa kaukulang katangian. Uri:

klase QA: def _init _ (sarili, tanong, tamang Sagot, iba pang Sagot): sarili.tanong = tanong sa sarili.corrAnsw = correctAnswer self.otherAnsw = otherAnswers

947361 5
947361 5

Hakbang 5. Lumikha ng isang listahan ng mga QA

Mag-isip ng ilang mga katanungan na may isang tama at ilang maling sagot. Lumikha ng mga bagay na QA mula sa bawat isa at ilagay ang mga ito sa isang listahan. Dahil ang listahan ay masyadong mahaba, maaari mo itong masira sa maraming mga linya para sa mas mahusay na kakayahang mabasa. Ang lahat ng ito ay tapos na sa sumusunod na code (maaaring magkakaiba ang iyong teksto):

qaList = [QA ("Nasaan ang Minsk?", "sa Belarus", ["sa Russia", "walang ganoong lungsod"]), QA ("Ano ang kabisera ng Australia?", "Canberra", ["Sydney", "New York", "Australia does not exist"]), QA ("Alin sa mga sumusunod ang wala sa Earth?", "Sea of Tranquility", ["Mediterranean Sea", "Baltic Sea "," North Sea "]), QA (" Alin sa mga sumusunod ay hindi isang kontinente? "," Arctica ", [" Antarctica "," America "]), QA (" Alin sa mga sumusunod ang hindi isang bansang Africa ? "," Malaysia ", [" Madagascar "," Djibouti "," South Africa "," Zimbabwe "])]

947361 6
947361 6

Hakbang 6. Magdagdag ng isang variable na bilangin kung gaano karaming mga sagot ang tama

Itakda ito sa zero sa simula. Idagdag ang linya:

corrCount = 0

947361 7
947361 7

Hakbang 7. I-shuffle ang listahan ng QA

Ipapakita nito ang iyong mga katanungan sa isang random na pagkakasunud-sunod. Ginagawa ito sa sumusunod na pagpapaandar:

random.shuffle (qaList)

947361 8
947361 8

Hakbang 8. Gumawa ng isang loop

Dapat na puntahan ng programa ang bawat item ng listahan at gawin ito. Lumikha ng tulad ng isang loop sa expression na ito:

para sa qaItem sa qaList:

947361 9
947361 9

Hakbang 9. Paglabas ng bawat tanong

Matapos ang loop expression, isulat ang linya:

i-print (qaItem.tanong)

947361 10
947361 10

Hakbang 10. Paglabas ng lahat ng mga posibleng sagot

Dapat silang lumitaw sa isang random na pagkakasunud-sunod upang ang tamang sagot ay hindi palaging nasa parehong posisyon. Gayundin, dapat silang pauna sa pamamagitan ng isang numero upang ang gumagamit ay hindi na ipasok muli ang buong sagot. Ang sumusunod na code ay ginagawa ito:

print ("Posibleng mga sagot ay:") posible = qaItem.otherAnsw + [qaItem.corrAnsw] # square bracket gawing listahan ang tamang sagot sa pagsasama-sama sa iba pang listahan ng random.shuffle (posible) bilang = 0 # list index na magsisimula sa 0 sa python habang bilangin <len (posible): i-print (str (count + 1) + ":" + posible [count]) bilangin + = 1

947361 11
947361 11

Hakbang 11. Kunin ang input ng gumagamit

Una, sabihin sa gumagamit na kailangan nilang ipasok ang bilang ng kanilang. Pagkatapos, suriin kung ano ang ipinasok ng gumagamit ay talagang isang numero na tumutugma sa isang sagot. Kung hindi, sabihin muli sa gumagamit. Gamitin ang code na ito (sa labas ng habang loop na nilikha mo para sa output):

i-print ("Mangyaring ipasok ang bilang ng iyong sagot:") userAnsw = input () habang hindi userAnsw.isdigit (): i-print ("Iyon ay hindi isang numero. Mangyaring ipasok ang numero ng iyong sagot:") userAnsw = input () userAnsw = int (userAnsw) habang hindi (userAnsw> 0 at userAnsw <= len (posible)): i-print ("Ang numerong iyon ay hindi tumutugma sa anumang sagot. Mangyaring ipasok ang bilang ng iyong sagot:") userAnsw = input ()

947361 12
947361 12

Hakbang 12. Suriin kung tama ang sagot ng gumagamit

Upang magawa ito, kunin ang teksto ng sagot kung saan nagpasok ang isang gumagamit ng isang numero at ihambing ito sa teksto ng tamang sagot. Kung magkapareho sila, ang sagot ng gumagamit ay wasto at ang variable na corrCount ay dapat dagdagan ng 1. Iba pa, mali at dapat sabihin sa gumagamit ang tamang sagot. Panghuli, mag-print ng isang walang laman na linya upang magdagdag ng ilang puwang sa susunod na tanong. Ipasok ang sumusunod na code:

kung maaari [userAnsw-1] == qaItem.corrAnsw: i-print ("Tama ang iyong sagot.") corrAnsw) print ("")

947361 13
947361 13

Hakbang 13. Maglabas ng isang konklusyon

Sa huli, malamang na nais malaman ng gumagamit kung gaano karaming mga katanungan ang nakuha nilang tama. Kaya sabihin sa kanila sa pamamagitan ng pagdaragdag ng sumusunod na expression sa labas ng for-loop:

i-print ("Sinagot mo ang" + str (corrCount) + "ng" + str (len (qaList)) + "mga katanungang tama.")

947361 14
947361 14

Hakbang 14. Suriin ang iyong code

Magbayad ng espesyal na pansin sa indentation. Ang iyong kumpletong code ay dapat magmukhang ganito ngayon:

import random class QA: def _init _ (sarili, tanong, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA ("Nasaan si Minsk?", "sa Belarus", ["sa Russia", "walang ganoong lungsod"]), QA ("Ano ang kabisera ng Australia?", "Canberra", ["Sydney", "New York", "Australia does not exist"]), QA ("Alin sa mga sumusunod ang wala sa Daigdig?", "Sea of Tranquility", ["Mediterranean Sea", "Baltic Sea", "North Sea"]), QA ("Alin sa mga sumusunod ang hindi isang kontinente? "," Arctica ", [" Antarctica "," America "]), QA (" Alin sa mga sumusunod ang hindi isang bansang Africa? "," Malaysia ", [" Madagascar "," Djibouti "," South Africa "," Zimbabwe "])] corrCount = 0 random.shuffle (qaList) para qaItem sa qaList: print (qaItem.question) print (" Mga posibleng sagot ay: ") posible = qaItem.otherAnsw + [qaItem.corrAnsw] # parisukat na mga bracket buksan ang tamang sagot sa isang listahan para sa concatenating sa iba pang mga listahan ng random.shuffle (posible) bilang = 0 # list index na magsisimula sa 0 i n sawa habang bilang <len (posible): i-print (str (count + 1) + ":" + posible [count]) count + = 1 print ("Mangyaring ipasok ang bilang ng iyong sagot:") userAnsw = input () habang hindi gumagamitAnsw.isdigit (): i-print ("Iyon ay hindi isang numero. Mangyaring ipasok ang bilang ng iyong sagot: ") userAnsw = input () userAnsw = int (userAnsw) habang hindi (userAnsw> 0 at userAnsw <= len (posible)): i-print (" Ang numerong iyon ay hindi tumutugma sa anumang sagot. Mangyaring ipasok ang bilang ng iyong sagot: ") userAnsw = input () kung posible [userAnsw-1] == qaItem.corrAnsw: i-print (" Tama ang iyong sagot. ") CorrCount + = 1 pa: i-print (" Ang iyong sagot ay mali. ") print (" Tamang sagot ay: "+ qaItem.corrAnsw) print (" ") print (" Sinagot mo ang "+ str (corrCount) +" ng "+ str (len (qaList)) +" mga tanong na tama. ")

947361 15
947361 15

Hakbang 15. Patakbuhin ang code

Kung gumagamit ka ng isang IDE, mag-click sa simbolo na "Run" o item sa menu. Kung gumagamit ka ng isang text editor, i-save ang iyong programa, isara ang editor, at buksan ang iyong programa sa Python.

Mga Tip

  • Mag-ingat para sa tamang pagkakakabit. Ang code sa loob ng isang pag-andar o kahulugan ng klase ay naka-indent, tulad ng code sa loob ng isang loop. Ang isang programa ng Python na may maling pagkakakuryente ay hindi gagana.
  • Pindutin ang Ctrl + C kung nais mong magambala ang laro at hindi ito tapusin.
  • Kung papalitan mo ang bawat tawag ng input () ng isang tawag ng raw_input (), gagana ang program na ito sa Python 2, ngunit ihinto ang pagtatrabaho sa Python 3.

Inirerekumendang: