Cara Membuat Game Kuis dengan Python (dengan Gambar)

Daftar Isi:

Cara Membuat Game Kuis dengan Python (dengan Gambar)
Cara Membuat Game Kuis dengan Python (dengan Gambar)

Video: Cara Membuat Game Kuis dengan Python (dengan Gambar)

Video: Cara Membuat Game Kuis dengan Python (dengan Gambar)
Video: Python Countdown Timer 2024, Mungkin
Anonim

Jika Anda ingin belajar Python, ada baiknya memulai dengan beberapa game berbasis teks sederhana. Artikel ini akan menunjukkan cara membuat game kuis.

Langkah

947361 1
947361 1

Langkah 1. Instal Python jika Anda belum melakukannya

Ada dua versi utama Python: Python 2 dan Python 3. Mereka tidak dapat dipertukarkan dan dukungan untuk Python 2 akan berakhir pada tahun 2020, jadi artikel ini akan mengasumsikan bahwa Anda menginstal Python 3.

947361 2
947361 2

Langkah 2. Buka file baru di editor teks atau IDE Python Anda

Beri nama deskriptif yang diakhiri dengan.py.

947361 3
947361 3

Langkah 3. Impor perpustakaan acak

Anda akan membutuhkannya untuk mengatur kemungkinan jawaban secara acak.

947361 4
947361 4

Langkah 4. Tentukan kelas "QA"

Sebuah "QA" akan terdiri dari pertanyaan dan jawaban yang benar, dan daftar kemungkinan jawaban lainnya. 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_(self, question, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers

947361 5
947361 5

Langkah 5. Buat daftar QA

Pikirkan beberapa pertanyaan dengan satu jawaban benar dan beberapa jawaban salah. Buat objek QA dari masing-masing dan masukkan ke dalam daftar. Karena daftarnya akan cukup panjang, Anda dapat memecahnya menjadi beberapa baris untuk keterbacaan yang lebih baik. Semua ini dilakukan dengan kode berikut (teks Anda mungkin berbeda):

qaList = [QA("Di mana Minsk?", "di Belarus", ["di Rusia", "kota seperti itu tidak ada"]), QA("Apa ibu kota Australia?", "Canberra", ["Sydney", "New York", "Australia tidak ada"]), QA("Manakah dari berikut ini yang tidak ada di Bumi?", "Laut Ketenangan", ["Laut Mediterania", "Laut Baltik ", "Laut Utara"]), QA("Manakah dari berikut ini yang bukan benua?", "Arktika", ["Antartika", "Amerika"]), QA("Manakah dari berikut ini yang bukan negara Afrika ?", "Malaysia", ["Madagaskar", "Djibouti", "Afrika Selatan", "Zimbabwe"])]

947361 6
947361 6

Langkah 6. Tambahkan variabel yang menghitung berapa banyak jawaban yang benar

Set ke nol di awal. Tambahkan baris:

corrCount = 0

947361 7
947361 7

Langkah 7. Kocok daftar QA

Ini akan membuat pertanyaan Anda muncul dalam urutan acak. Ini dilakukan dengan fungsi berikut:

random.shuffle(qaList)

947361 8
947361 8

Langkah 8. Buat lingkaran

Program harus memeriksa setiap item dari daftar dan melakukan sesuatu dengannya. Buat loop seperti itu dengan ekspresi ini:

untuk qaItem di qaList:

947361 9
947361 9

Langkah 9. Keluarkan setiap pertanyaan

Setelah ekspresi loop, tulis baris:

print(qaItem.question)

947361 10
947361 10

Langkah 10. Keluarkan semua kemungkinan jawaban

Mereka harus muncul dalam urutan acak sehingga jawaban yang benar tidak selalu pada posisi yang sama. Juga, mereka harus diawali dengan angka sehingga pengguna tidak perlu memasukkan seluruh jawaban lagi. Kode berikut melakukan ini:

print("Kemungkinan jawaban adalah:") kemungkinan = qaItem.otherAnsw + [qaItem.corrAnsw] # tanda kurung siku mengubah jawaban yang benar menjadi daftar untuk digabungkan dengan daftar lain random.shuffle(mungkin) count = 0 # daftar indeks mulai dari 0 dengan python while count < len(mungkin): print(str(count+1) + ": " + kemungkinan[count]) count += 1

947361 11
947361 11

Langkah 11. Ambil input pengguna

Pertama, beri tahu pengguna bahwa mereka harus memasukkan nomor mereka. Kemudian, periksa apakah yang dimasukkan pengguna benar-benar angka yang sesuai dengan jawaban. Jika tidak, beri tahu pengguna lagi. Gunakan kode ini (di luar loop sementara yang Anda buat untuk output):

print("Silakan masukkan nomor jawaban Anda:") userAnsw = input() while not userAnsw.isdigit(): print("Itu bukan angka. Harap masukkan nomor jawaban Anda:") userAnsw = input() userAnsw = int(userAnsw) while not (userAnsw > 0 dan userAnsw <= len(possible)): print("Angka itu tidak sesuai dengan jawaban apa pun. Harap masukkan nomor jawaban Anda:") userAnsw = input()

947361 12
947361 12

Langkah 12. Periksa apakah jawaban pengguna sudah benar

Untuk melakukan ini, dapatkan teks jawaban yang nomornya dimasukkan pengguna dan bandingkan dengan teks jawaban yang benar. Jika sama, jawaban pengguna benar dan variabel corrCount harus ditambah 1. Jika tidak, itu salah dan pengguna harus diberi tahu jawaban yang benar. Terakhir, cetak baris kosong untuk menambah ruang pada pertanyaan berikutnya. Masukkan kode berikut:

jika memungkinkan[userAnsw-1] == qaItem.corrAnsw: print("Jawaban Anda benar.") corrCount += 1 else: print("Jawaban Anda salah.") print("Jawaban yang benar adalah: " + qaItem. corrAnsw) print("")

947361 13
947361 13

Langkah 13. Keluarkan kesimpulan

Pada akhirnya, pengguna mungkin ingin tahu berapa banyak pertanyaan yang mereka dapatkan dengan benar. Jadi beri tahu mereka dengan menambahkan ekspresi berikut di luar for-loop:

print("Anda menjawab " + str(corrCount) + " dari " + str(len(qaList)) + " pertanyaan dengan benar.")

947361 14
947361 14

Langkah 14. Periksa kode Anda

Berikan perhatian khusus pada lekukan. Kode lengkap Anda akan terlihat seperti ini sekarang:

impor kelas acak QA: def _init_(self, question, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA("Di mana Minsk?", "di Belarus", ["di Rusia", "kota seperti itu tidak ada"]), QA("Apa ibu kota Australia?", "Canberra", ["Sydney", "New York", "Australia tidak ada"]), QA("Manakah dari berikut ini yang tidak ada di Bumi?", "Laut Ketenangan", ["Laut Mediterania", "Laut Baltik", "Laut Utara"]), QA("Manakah dari berikut ini yang tidak benua?", "Arktika", ["Antartika", "Amerika"]), QA("Manakah dari berikut ini yang bukan negara Afrika?", "Malaysia", ["Madagaskar", "Djibouti", "Selatan Africa", "Zimbabwe"])] corrCount = 0 random.shuffle(qaList) untuk qaItem di qaList: print(qaItem.question) print("Kemungkinan jawaban adalah:") kemungkinan = qaItem.otherAnsw + [qaItem.corrAnsw] # kurung siku mengubah jawaban yang benar menjadi daftar untuk digabungkan dengan daftar lain random.shuffle(mungkin) count = 0 # indeks daftar mulai dari 0 i n python while count < len(mungkin): print(str(count+1) + ": " + kemungkinan[count]) count += 1 print("Silakan masukkan nomor jawaban Anda:") userAnsw = input() while not userAnsw.isdigit(): print("Itu bukan angka. Silakan masukkan nomor jawaban Anda:") userAnsw = input() userAnsw = int(userAnsw) sedangkan not (userAnsw > 0 dan userAnsw <= len(mungkin)): print("Angka itu tidak sesuai dengan jawaban apa pun. Silakan masukkan nomor jawaban Anda:") userAnsw = input() jika memungkinkan[userAnsw-1] == qaItem.corrAnsw: print("Jawaban Anda benar.") corrCount += 1 else: print("Jawaban Anda adalah salah.") print("Jawaban yang benar adalah: " + qaItem.corrAnsw) print("") print("Anda menjawab " + str(corrCount) + " dari " + str(len(qaList)) + " pertanyaan dengan benar. ")

947361 15
947361 15

Langkah 15. Jalankan kodenya

Jika Anda menggunakan IDE, klik simbol "Jalankan" atau item menu. Jika Anda menggunakan editor teks, simpan program Anda, tutup editor, dan buka program Anda dengan Python.

Tips

  • Perhatikan indentasi yang benar. Kode di dalam fungsi atau definisi kelas diindentasi, seperti kode di dalam loop. Program Python dengan lekukan yang salah tidak akan berfungsi.
  • Tekan Ctrl+C jika Anda ingin menghentikan permainan dan tidak menyelesaikannya.
  • Jika Anda mengganti setiap panggilan input() dengan panggilan raw_input(), program ini akan bekerja di Python 2, tetapi berhenti bekerja di Python 3.

Direkomendasikan: