Sekiranya anda ingin belajar Python, ada baiknya anda memulakan dengan beberapa permainan berasaskan teks ringkas. Artikel ini akan menunjukkan cara membuat permainan kuiz.
Langkah-langkah
Langkah 1. Pasang Python jika anda belum melakukannya
Terdapat dua versi utama Python: Python 2 dan Python 3. Mereka tidak boleh ditukar ganti dan sokongan untuk Python 2 akan berakhir pada tahun 2020, jadi artikel ini akan menganggap bahawa anda memasang Python 3.
Langkah 2. Buka fail baru dalam editor teks atau Python IDE anda
Beri nama deskriptif yang diakhiri dengan.py.
Langkah 3. Import perpustakaan rawak
Anda memerlukannya untuk mengatur kemungkinan jawapan secara rawak.
Langkah 4. Tentukan kelas "QA"
"QA" akan terdiri daripada soalan dan jawapan yang betul, dan senarai kemungkinan jawapan lain. Fungsi _init _ () akan dipanggil setiap kali anda membuat objek QA baru dengan fungsi QA (), dengan argumennya diteruskan ke atribut yang sesuai. Jenis:
kelas QA: def _init _ (diri, soalan, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers
Langkah 5. Buat senarai QA
Fikirkan beberapa soalan dengan satu jawapan yang betul dan salah. Buat objek QA dari masing-masing dan masukkan ke dalam senarai. Oleh kerana senarai ini akan cukup panjang, anda boleh memecahkannya dari pelbagai baris agar lebih mudah dibaca. Semua ini dilakukan dengan kod berikut (teks anda mungkin berbeza):
qaList = [QA ("Di manakah Minsk?", "Di Belarus", ["di Rusia", "kota seperti itu tidak ada"]), QA ("Apa ibukota Australia?", "Canberra", ["Sydney", "New York", "Australia tidak ada"]), QA ("Manakah di antara berikut yang tidak ada di Bumi?", "Laut Ketenangan", ["Laut Mediterranean", "Laut Baltik "," Laut Utara "]), QA (" Manakah antara berikut yang bukan benua? "," Arctica ", [" Antartika "," Amerika "]), QA (" Manakah antara berikut yang bukan negara Afrika ? "," Malaysia ", [" Madagascar "," Djibouti "," Afrika Selatan "," Zimbabwe "])]
Langkah 6. Tambahkan pemboleh ubah yang mengira berapa banyak jawapan yang betul
Tetapkannya menjadi sifar pada awalnya. Tambahkan baris:
corCount = 0
Langkah 7. Rombak senarai QA
Ini akan menjadikan soalan anda muncul dalam urutan rawak. Ini dilakukan dengan fungsi berikut:
random.shuffle (senarai qa)
Langkah 8. Buat gelung
Program ini harus membahas setiap item senarai dan melakukan sesuatu dengannya. Buat gelung dengan ungkapan ini:
untuk qaItem dalam qaList:
Langkah 9. Keluarkan setiap soalan
Selepas ungkapan gelung, tulis baris:
cetak (qaItem.question)
Langkah 10. Keluarkan semua jawapan yang mungkin
Mereka harus muncul dalam urutan rawak sehingga jawapan yang betul tidak selalu berada pada posisi yang sama. Juga, mereka harus diawali dengan angka sehingga pengguna tidak perlu memasukkan keseluruhan jawapan lagi. Kod berikut melakukan ini:
cetak ("Kemungkinan jawapan adalah:") mungkin = qaItem.otherAnsw + [qaItem.corrAnsw] # tanda kurung segi empat menjadikan jawapan yang betul menjadi senarai untuk gabungan dengan senarai lain yang rawak.kocok (mungkin) = 0 # indeks senarai bermula pada 0 di python sambil hitung <len (mungkin): cetak (str (kiraan + 1) + ":" + mungkin [hitung]) kiraan + = 1
Langkah 11. Ambil input pengguna
Pertama, beritahu pengguna bahawa mereka mesti memasukkan nombor mereka. Kemudian, periksa sama ada apa yang dimasukkan pengguna benar-benar nombor yang sesuai dengan jawapan. Sekiranya tidak, beritahu pengguna lagi. Gunakan kod ini (di luar gelung sementara yang anda buat untuk output):
print ("Sila masukkan nombor jawapan anda:") userAnsw = input () sementara bukan userAnsw.isdigit (): print ("Itu bukan nombor. Sila masukkan nombor jawapan anda:") userAnsw = input () userAnsw = int (userAnsw) sementara tidak (userAnsw> 0 dan userAnsw <= len (mungkin)): cetak ("Nombor itu tidak sesuai dengan jawapan apa pun. Sila masukkan nombor jawapan anda:") userAnsw = input ()
Langkah 12. Periksa sama ada jawapan pengguna betul
Untuk melakukan ini, dapatkan teks jawapan yang mana pengguna memasukkan nombor dan bandingkan dengan teks jawapan yang betul. Sekiranya mereka sama, jawapan pengguna adalah betul dan pembolehubah CorCount harus ditingkatkan sebanyak 1. Jika tidak, itu salah dan pengguna harus diberitahu jawapan yang betul. Akhirnya, cetak baris kosong untuk menambah ruang pada soalan seterusnya. Masukkan kod berikut:
jika boleh [userAnsw-1] == qaItem.corrAnsw: print ("Jawapan anda betul.") corAnsw) cetak ("")
Langkah 13. Keluarkan kesimpulan
Pada akhirnya, pengguna mungkin ingin mengetahui berapa banyak soalan yang mereka dapat dengan betul. Oleh itu, beritahu mereka dengan menambahkan ungkapan berikut di luar gelung untuk:
cetak ("Anda menjawab" + str (corrCount) + "dari" + str (len (qaList)) + "soalan dengan betul.")
Langkah 14. Periksa kod anda
Perhatikan lekukan. Kod lengkap anda akan kelihatan seperti sekarang:
import QA kelas rawak: def _init _ (diri, soalan, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA ("Where is Minsk?", "in Belarus", ["di Rusia", "kota seperti itu tidak ada"]), QA ("Apa ibukota Australia?", "Canberra", ["Sydney", "New York", "Australia tidak ada"], QA ("Manakah antara berikut yang tidak ada di Bumi?", "Laut Ketenangan", ["Laut Mediterranean", "Laut Baltik", "Laut Utara"]), QA ("Manakah antara berikut yang tidak benua? "," Arctica ", [" Antarctica "," America "]), QA (" Manakah antara berikut yang bukan negara Afrika? "," Malaysia ", [" Madagascar "," Djibouti "," South Africa "," Zimbabwe "])] corrCount = 0 random.shuffle (qaList) untuk qaItem dalam qaList: print (qaItem.question) print (" Kemungkinan jawapan adalah: ") mungkin = qaItem.otherAnsw + [qaItem.corrAnsw] # tanda kurung segi empat membalikkan jawapan yang betul menjadi senarai untuk digabungkan dengan senarai lain secara rawak.kocok (mungkin) = 0 # indeks senarai bermula pada 0 i n python sambil hitung <len (mungkin): cetak (str (hitung + 1) + ":" + mungkin [hitung]) hitung + = 1 cetakan ("Sila masukkan nombor jawapan anda:") userAnsw = input () sementara tidak userAnsw.isdigit (): print ("Itu bukan nombor. Sila masukkan nombor jawapan anda: ") userAnsw = input () userAnsw = int (userAnsw) sementara tidak (userAnsw> 0 dan userAnsw <= len (mungkin)): cetak (" Nombor itu tidak sesuai dengan jawapan apa pun. Sila masukkan nombor jawapan anda: ") userAnsw = input () jika boleh [userAnsw-1] == qaItem.corrAnsw: print (" Jawapan anda betul. ") CorrCount + = 1 yang lain: cetak (" Jawapan anda adalah salah. ") cetak (" Jawapan yang betul ialah: "+ qaItem.corrAnsw) cetak (" ") cetak (" Anda menjawab "+ str (corrCount) +" dari "+ str (len (qaList)) +" soalan dengan betul. ")
Langkah 15. Jalankan kod
Sekiranya anda menggunakan IDE, klik pada simbol "Jalankan" atau item menu. Sekiranya anda menggunakan editor teks, simpan program anda, tutup editor, dan buka program anda dengan Python.
Petua
- Perhatikan lekukan yang betul. Kod di dalam fungsi atau definisi kelas adalah lekukan, seperti juga kod di dalam satu gelung. Program Python dengan lekukan yang salah tidak akan berfungsi.
- Tekan Ctrl + C jika anda mahu mengganggu permainan dan tidak menyelesaikannya.
- Sekiranya anda mengganti setiap panggilan input () dengan panggilan raw_input (), program ini akan berfungsi di Python 2, tetapi berhenti berfungsi di Python 3.