Pythonda viktorina oyunu necə etmək olar (şəkillərlə birlikdə)

Mündəricat:

Pythonda viktorina oyunu necə etmək olar (şəkillərlə birlikdə)
Pythonda viktorina oyunu necə etmək olar (şəkillərlə birlikdə)

Video: Pythonda viktorina oyunu necə etmək olar (şəkillərlə birlikdə)

Video: Pythonda viktorina oyunu necə etmək olar (şəkillərlə birlikdə)
Video: PYTHON GERİ SAYAÇ YAPIMI / PYTHON DOWNCOUNTER 2024, Bilər
Anonim

Python öyrənmək istəyirsinizsə, bəzi sadə mətn əsaslı oyunlardan başlamaq yaxşıdır. Bu məqalə bir viktorina oyununun necə ediləcəyini sizə göstərəcək.

Addımlar

947361 1
947361 1

Addım 1. Hələ yoxsa Python quraşdırın

Python -un iki əsas versiyası var: Python 2 və Python 3. Bunlar bir -birini əvəz etmir və Python 2 -nin dəstəyi 2020 -ci ildə sona çatacaq, buna görə də bu məqalə Python 3 -ü quraşdırdığınızı güman edəcək.

947361 2
947361 2

Addım 2. Mətn redaktorunda və ya Python IDE -də yeni bir fayl açın

. Py ilə bitən təsviri bir ad verin.

947361 3
947361 3

Addım 3. Təsadüfi kitabxananı idxal edin

Mümkün cavabları təsadüfi bir şəkildə düzəltmək üçün buna ehtiyacınız olacaq.

947361 4
947361 4

Addım 4. "QA" sinifini təyin edin

"QA" bir sualdan və düzgün cavabdan və mümkün digər cavabların siyahısından ibarət olacaq. _İnit _ () funksiyası, QA () funksiyası ilə yeni bir QA obyekti yaratdığınız zaman, arqumentləri müvafiq atributa ötürüləcək. Növ:

sinif QA: def _init _ (öz -özünə, sual, düzgün Cavab, digər Cavablar): özünü.sual = sual özünü.corrAnsw = düzgünCavablandıran özünü.başqaAnsw = digər cavablar

947361 5
947361 5

Addım 5. QA -lərin siyahısını yaradın

Doğru və bəzi səhv cavabları olan bəzi sualları düşünün. Hər birindən QA obyektləri yaradın və siyahıya salın. Siyahı olduqca uzun olacağından, daha yaxşı oxunması üçün bir neçə sətirdən keçə bilərsiniz. Bütün bunlar aşağıdakı kodla aparılır (mətniniz fərqli ola bilər):

qaList = [QA ("Minsk haradadır?", "Belarusiyada", ["Rusiyada", "belə bir şəhər yoxdur"])), QA ("Avstraliyanın paytaxtı nədir?", "Canberra", ["Sidney", "New York", "Avstraliya yoxdur"])), QA ("Aşağıdakılardan hansı Yer üzündə deyil?", "Sakitlik Dənizi", ["Aralıq dənizi", "Baltik dənizi" "," Şimal Dəniz "])), QA (" Aşağıdakılardan hansı qitə deyil? "," Arktika ", [" Antarktida "," Amerika "]), QA (" Aşağıdakılardan hansı Afrika ölkəsi deyil? ? "," Malayziya ", [" Madaqaskar "," Cibuti "," Cənubi Afrika "," Zimbabve "])]

947361 6
947361 6

Addım 6. Neçə cavabın düzgün olduğunu sayan dəyişən əlavə edin

Başlanğıcda sıfıra qoyun. Xətti əlavə edin:

corrCount = 0

947361 7
947361 7

Addım 7. QA siyahısını qarışdırın

Bu, suallarınızın təsadüfi qaydada görünməsini təmin edəcək. Bu aşağıdakı funksiya ilə edilir:

təsadüfi. qarışıqlıq (qaList)

947361 8
947361 8

Addım 8. Bir döngə düzəldin

Proqram, siyahının hər bir maddəsinə keçməli və bununla bir şey etməlidir. Bu ifadə ilə belə bir döngə yaradın:

qaListdəki qaItem üçün:

947361 9
947361 9

Addım 9. Hər bir sualı verin

Döngü ifadəsindən sonra sətri yazın:

çap et (qaItem.question)

947361 10
947361 10

Addım 10. Bütün mümkün cavabları çıxarın

Düzgün cavabın həmişə eyni mövqedə olmaması üçün təsadüfi qaydada görünməlidirlər. İstifadəçinin bütün cavabı bir daha daxil etməməsi üçün əvvəlcədən bir rəqəmlə yazılmalıdır. Aşağıdakı kod bunu edir:

print ("Mümkün cavablar:") mümkün = qaItem.otherAnsw + [qaItem.corrAnsw] # kvadrat mötərizələr doğru cavabı digər siyahı ilə birləşmək üçün siyahıya çevirir random.shuffle (mümkün) count = 0 # siyahı indeksləri pythonda 0 -dan başlayır count <len (mümkün): print (str (count + 1) + ":" + mümkün [count]) count + = 1

947361 11
947361 11

Addım 11. İstifadəçinin girişini alın

Əvvəlcə istifadəçiyə nömrələrini daxil etməli olduqlarını söyləyin. Sonra, istifadəçinin daxil etdiyi şeyin həqiqətən cavabla uyğun bir rəqəm olub olmadığını yoxlayın. Əgər deyilsə, istifadəçiyə bir daha deyin. Bu kodu istifadə edin (çıxış üçün yaratdığınız while döngəsinin xaricində):

print ("Zəhmət olmasa cavabınızın sayını daxil edin:") userAnsw = input () userAnsw.isdigit () deyilkən: print ("Bu bir rəqəm deyildi. Zəhmət olmasa cavabınızın nömrəsini daxil edin:") userAnsw = input () userAnsw = int (userAnsw) olmasa da (userAnsw> 0 və userAnsw <= len (mümkündür)): print ("Bu rəqəm heç bir cavaba uyğun gəlmir. Zəhmət olmasa cavabınızın nömrəsini daxil edin:") userAnsw = input ()

947361 12
947361 12

Addım 12. İstifadəçinin cavabının düzgün olub olmadığını yoxlayın

Bunu etmək üçün istifadəçinin bir nömrə daxil etdiyi cavabın mətnini alın və düzgün cavabın mətni ilə müqayisə edin. Eynidirlərsə, istifadəçinin cavabı düzgün idi və dəyişən corrCount 1 artırılmalıdır. Əks halda səhvdir və istifadəçiyə düzgün cavabı söyləmək lazımdır. Nəhayət, növbəti suala bir az yer əlavə etmək üçün boş bir sətir yazdırın. Aşağıdakı kodu daxil edin:

mümkünsə [userAnsw-1] == qaItem.corrAnsw: print ("Cavabınız doğru idi.") corrCount + = 1 başqa: çap edin ("Cavabınız səhv idi.") çap edin ("Düzgün cavab:" + qaItem. corrAnsw) çap et ("")

947361 13
947361 13

Addım 13. Nəticə çıxarın

Sonda istifadəçi, ehtimal ki, neçə sualın doğru olduğunu öyrənmək istəyir. Aşağıdakı ifadəni for-loop xaricinə əlavə edərək onlara deyin:

çap ("Cavab verdiniz" + str (corrCount) + "of" + str (len (qaList)) + "suallara düzgün cavab verin.")

947361 14
947361 14

Addım 14. Kodunuzu yoxlayın

Girintiyə xüsusi diqqət yetirin. Tam kodunuz indi belə görünməlidir:

təsadüfi sinif QA idxal edin: def _init _ (öz -özünə, sual, doğruAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA ("Minsk haradadır?", "Belarusiyada"), ["Rusiyada", "belə bir şəhər yoxdur"])), QA ("Avstraliyanın paytaxtı nədir?", "Canberra", ["Sidney", "Nyu -York", "Avstraliya yoxdur")]), QA ("Aşağıdakılardan hansı Yer üzündə deyil?", "Sülh dənizi", ["Aralıq dənizi", "Baltik dənizi", "Şimal dənizi"]), QA ("Aşağıdakılardan hansı deyil? bir qitə? "," Arktika ", [" Antarktida "," Amerika "])), QA (" Aşağıdakılardan hansı Afrika ölkəsi deyil? "," Malayziya ", [" Madaqaskar "," Cibuti "," Cənub " QaListdəki qaItem üçün Afrika "," Zimbabve "])] corrCount = 0 təsadüfi.shuffle (qaList): print (qaItem.question) print (" Mümkün cavablar: ") mümkün = qaItem.otherAnsw + [qaItem.corrAnsw] # kvadrat mötərizələr, təsadüfi digər siyahı ilə birləşmək üçün düzgün cavabı siyahıya çevirir.shuffle (mümkün) count = 0 # siyahı indeksləri 0 i ilə başlayır n python isə say <len (mümkün): print (str (count + 1) + ":" + mümkün [count]) count + = 1 print ("Zəhmət olmasa cavabınızın sayını daxil edin:") userAnsw = input () userAnsw.isdigit () deyilkən: print ("Bu rəqəm deyildi. Zəhmət olmasa cavabınızın nömrəsini daxil edin: ") userAnsw = input () userAnsw = int (userAnsw) deyil, (userAnsw> 0 və userAnsw <= len (mümkün)): print (" Bu nömrə heç bir cavaba uyğun gəlmir. Zəhmət olmasa cavabınızın nömrəsini daxil edin: ") userAnsw = input () mümkünsə [userAnsw-1] == qaItem.corrAnsw: print (" Cavabınız düzgün idi. ") CorrCount += 1 başqa: çap (" Cavabınız səhv. ") çap (" Düzgün cavab: " + qaItem.corrAnsw) çap (" ") çap (" + str (len (qaList)) + "" + "suallarına" + "cavab verdiniz" + str (corrCount) + "" ")

947361 15
947361 15

Addım 15. Kodu işə salın

Bir IDE istifadə edirsinizsə, "Çalış" simvolunu və ya menyu maddəsini vurun. Bir mətn redaktoru istifadə edirsinizsə, proqramınızı saxla, redaktoru bağlayın və Python ilə proqramınızı açın.

İpuçları

  • Düzgün girintiyə diqqət yetirin. Bir funksiya və ya sinif tərifinin daxilindəki kod, bir döngənin içərisində olan kod kimi girintidir. Yanlış girintili Python proqramı işləməyəcək.
  • Oyunu dayandırmaq və bitirməmək istəyirsinizsə Ctrl+C düymələrini basın.
  • Hər giriş () zəngini raw_input () çağırışı ilə əvəz etsəniz, bu proqram Python 2 -də işləyəcək, ancaq Python 3 -də işləməyi dayandırın.

Tövsiyə: