Cara Membuat Permainan Kuiz di Python (dengan Gambar)

Isi kandungan:

Cara Membuat Permainan Kuiz di Python (dengan Gambar)
Cara Membuat Permainan Kuiz di Python (dengan Gambar)

Video: Cara Membuat Permainan Kuiz di Python (dengan Gambar)

Video: Cara Membuat Permainan Kuiz di Python (dengan Gambar)
Video: Python Countdown Timer 2024, Mungkin
Anonim

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

947361 1
947361 1

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.

947361 2
947361 2

Langkah 2. Buka fail baru dalam editor teks atau Python IDE anda

Beri nama deskriptif yang diakhiri dengan.py.

947361 3
947361 3

Langkah 3. Import perpustakaan rawak

Anda memerlukannya untuk mengatur kemungkinan jawapan secara rawak.

947361 4
947361 4

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

947361 5
947361 5

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

947361 6
947361 6

Langkah 6. Tambahkan pemboleh ubah yang mengira berapa banyak jawapan yang betul

Tetapkannya menjadi sifar pada awalnya. Tambahkan baris:

corCount = 0

947361 7
947361 7

Langkah 7. Rombak senarai QA

Ini akan menjadikan soalan anda muncul dalam urutan rawak. Ini dilakukan dengan fungsi berikut:

random.shuffle (senarai qa)

947361 8
947361 8

Langkah 8. Buat gelung

Program ini harus membahas setiap item senarai dan melakukan sesuatu dengannya. Buat gelung dengan ungkapan ini:

untuk qaItem dalam qaList:

947361 9
947361 9

Langkah 9. Keluarkan setiap soalan

Selepas ungkapan gelung, tulis baris:

cetak (qaItem.question)

947361 10
947361 10

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

947361 11
947361 11

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

947361 12
947361 12

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

947361 13
947361 13

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

947361 14
947361 14

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

947361 15
947361 15

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.

Disyorkan: