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
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.
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.
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.
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
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 "])]
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
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)
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:
Addım 9. Hər bir sualı verin
Döngü ifadəsindən sonra sətri yazın:
çap et (qaItem.question)
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
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 ()
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 ("")
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.")
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) + "" ")
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.