Cara Membuat Game Kuis Interaktif dengan Python

Terjebak untuk tantangan pemrograman sederhana? Coba tulis kuis Anda sendiri untuk menguji teman dan keluarga; mudah dengan Python.


Anda dapat berlatih mempelajari cara memprogram dengan membuat proyek baris perintah pendek dengan Python. Salah satu proyek yang dapat Anda buat adalah kuis interaktif, di mana Anda dapat mengajukan berbagai jenis pertanyaan kepada pengguna.


Pertanyaan yang dapat Anda ajukan mencakup pertanyaan pilihan ganda, atau pertanyaan yang memerlukan jawaban tertulis. Anda juga dapat mengajukan pertanyaan yang memiliki alternatif jawaban yang benar. Anda bahkan dapat membuat program Anda memberikan petunjuk kepada pengguna.


Cara Membuat Script Python dan Menambahkan Pertanyaan Kuis Pertama Anda

Buat file Python dan tambahkan pertanyaan pertama Anda. Jika Anda belum pernah membuat kode dengan Python sebelumnya, ada banyak kursus dan sumber daya di luar sana di mana Anda dapat belajar Python secara gratis.

  1. Buat file teks baru bernama “InteractiveQuiz.py”.
  2. Buka file menggunakan editor teks apa pun, dan tambahkan pernyataan cetak pertama Anda untuk menyambut pengguna dalam kuis.
    print("Hello, welcome to the geography quiz. Answer the questions as they are presented.")
  3. Ajukan pertanyaan pertama kepada pengguna. Gunakan fungsi input() untuk menunggu respons pengguna, dan simpan input mereka ke dalam variabel “userInput”.
    print("Question 1. What city is the capital of Australia?")
    userInput = input()
  4. Tambahkan kondisi untuk memeriksa apakah input pengguna cocok dengan jawaban yang benar. Jika pengguna menjawab dengan benar, tampilkan pesan “benar” kepada mereka. Jika tidak, tampilkan jawaban yang benar.
    if (userInput.lower() == "Canberra".lower()):
    print("That is correct!")
    else:
    print("Sorry, the correct answer is Canberra.")
  5. Untuk menjalankan kuis dan menguji apakah pertanyaan Anda berfungsi, buka baris perintah dan navigasikan ke lokasi file Python Anda. Misalnya, jika Anda menyimpan file Anda di direktori bernama Desktop, perintahnya adalah:
    cd Desktop
  6. Jalankan perintah python untuk menjalankan kuis.
    python InteractiveQuiz.py
  7. Memberikan jawaban atas pertanyaan kuis.

See also  Cara Instal Home windows 10 dan 11 di Raspberry Pi 4 dengan Cara Mudah

Cara Menambahkan Beberapa Pertanyaan ke Kuis

Anda dapat menambahkan beberapa pertanyaan dengan mengulangi kode di atas. Namun, ini akan membuat kode Anda terlalu panjang dan sulit untuk diperbarui. Untuk pendekatan yang lebih baik, simpan informasi tentang pertanyaan di objek sebagai gantinya.

  1. Di bagian atas file Python, tambahkan kelas untuk menyimpan informasi tentang pertanyaan kuis. Jika Anda belum pernah melakukan ini sebelumnya, Anda dapat mempelajari lebih lanjut tentang cara membuat kelas dengan Python.
    class Question:
    def __init__(self, questionText, answer):
    self.questionText = questionText
    self.answer = answer

    def __repr__(self):
    return '{'+ self.questionText +', '+ self.answer +'}'

  2. Di bawah kelas, tambahkan array objek pertanyaan. Objek-objek ini akan menyimpan teks pertanyaan yang ditampilkan kuis kepada pengguna, bersama dengan jawaban yang benar.
    quizQuestions = [
    Question("Question 1. What city is the capital of Australia", "Canberra"),
    Question("Question 2. What city is the capital of Japan", "Tokyo"),
    Question("Question 3. How many islands does the Philippines have", "7100")
    ]
  3. Ganti pernyataan if yang ada dan kode input pengguna. Sebagai gantinya, gunakan for loop untuk beralih pada array quizQuestions. Untuk setiap pertanyaan, tampilkan pertanyaan, dan bandingkan masukan pengguna dengan jawaban yang benar.
    for question in quizQuestions:
    print(f"{question.questionText}?")
    userInput = input()
    if (userInput.lower() == question.answer.lower()):
    print("That is correct!")
    else:
    print(f"Sorry, the correct answer is {question.answer}.")

Cara Menambahkan Soal Pilihan Ganda

Anda dapat memperluas kelas Pertanyaan untuk mengakomodasi pertanyaan pilihan ganda.

  1. Ubah kelas Pertanyaan di bagian atas file. Tambahkan atribut opsional yang disebut multipleChoiceOptions.
    class Question:
    def __init__(self, questionText, answer, multipleChoiceOptions=None):
    self.questionText = questionText
    self.answer = answer
    self.multipleChoiceOptions = multipleChoiceOptions

    def __repr__(self):
    return '{'+ self.questionText +', '+ self.answer +', '+ str(self.multipleChoiceOptions) +'}'

  2. Tambahkan pertanyaan lain ke array quizQuestions. Simpan beberapa opsi pilihan ganda untuk pertanyaan tersebut.
    quizQuestions = [
    Question("Question 1. What city is the capital of Australia", "Canberra"),
    Question("Question 2. What city is the capital of Japan", "Tokyo"),
    Question("Question 3. How many islands does the Philippines have", "7100"),
    Question("Question 4. Which country takes the most land mass", "b", ["(a) United States", "(b) Russia", "(c) Australia", "(d) Antarctica"]),
    ]
  3. Ubah bagian dari for loop yang menampilkan pertanyaan kepada pengguna. Jika ada opsi pilihan ganda untuk pertanyaan, tampilkan setelah pertanyaan, dan sebelum mengambil input pengguna.
    for question in quizQuestions:
    if (question.multipleChoiceOptions != None):
    print(f"{question.questionText}?")
    for option in question.multipleChoiceOptions:
    print(option)
    userInput = input()
    else:
    print(f"{question.questionText}?")
    userInput = input()

    if (userInput.lower() == question.answer.lower()):
    print("That is correct!")
    else:
    print(f"Sorry, the correct answer is {question.answer}.")

See also  Cara Menggunakan Midjourney untuk Membuat Seni AI

Bagaimana cara menambahkan pertanyaan yang memiliki alternatif jawaban yang benar

Terkadang ada pertanyaan di mana pengguna dapat mengetik sebagian dari jawabannya, tetapi secara teknis masih benar.

Misalnya, salah satu pertanyaan dalam kuis Anda adalah “Di belahan bumi manakah Jepang berada?”. Dalam hal ini, pengguna dapat mengetik “Utara”, “Utara”, atau “Belahan Bumi Utara”, dan tetap benar.

  1. Tambahkan atribut opsional lain ke kelas Pertanyaan. Atribut ini akan berisi kemungkinan jawaban benar alternatif yang dapat dimasukkan pengguna.
    class Question:
    def __init__(self, questionText, answer, multipleChoiceOptions=None, alternateAnswers=None):
    self.questionText = questionText
    self.answer = answer
    self.multipleChoiceOptions = multipleChoiceOptions
    self.alternateAnswers = alternateAnswers

    def __repr__(self):
    return '{'+ self.questionText +', '+ self.answer +', '+ str(self.multipleChoiceOptions) +', '+ str(self.alternateAnswers) +'}'

  2. Tambahkan pertanyaan lain ke array quizQuestions. Tambahkan “Belahan Bumi Utara” sebagai jawaban yang benar. Tambahkan “utara” dan “utara” sebagai alternatif jawaban yang benar.
    quizQuestions = [
    Question("Question 5. What hemisphere is Japan located in", "Northern Hemisphere", [], ["north", "northern"]),
    ]
  3. Tambahkan kondisi lain ke pernyataan if yang memeriksa apakah pengguna telah memasukkan alternatif jawaban yang benar.
    if (userInput.lower() == question.answer.lower()):
    print("That is correct!")
    elif (question.alternateAnswers != None and userInput.lower() in question.alternateAnswers):
    print("That is correct!")
    else:
    print(f"Sorry, the correct answer is {question.answer}.")

Bagaimana Memberi Petunjuk Pengguna

Anda dapat memodifikasi skrip sehingga pengguna tidak dapat melanjutkan ke tahap berikutnya sampai mereka mendapatkan pertanyaan saat ini dengan benar. Dalam hal ini, tambahkan variabel untuk menghitung berapa kali pengguna memasukkan jawaban yang salah. Setelah tiga tebakan yang salah, Anda dapat memberikan petunjuk kepada pengguna.

  1. Ubah kelas Pertanyaan untuk menggunakan atribut petunjuk baru.
    class Question:
    def __init__(self, questionText, answer, hint=None, multipleChoiceOptions=None, alternateAnswers=None):
    self.questionText = questionText
    self.answer = answer
    self.hint = hint
    self.multipleChoiceOptions = multipleChoiceOptions
    self.alternateAnswers = alternateAnswers

    def __repr__(self):
    return '{'+ self.questionText +', '+ self.answer +', '+ self.hint +', '+ str(self.multipleChoiceOptions) +', '+ str(self.alternateAnswers) +'}'

  2. Tambahkan petunjuk untuk semua pertanyaan dalam kuis.
    quizQuestions = [
    Question("Question 1. What city is the capital of Australia", "Canberra", "Starts with a C"),
    Question("Question 2. What city is the capital of Japan", "Tokyo", "Starts with a T"),
    Question("Question 3. How many islands does the Philippines have", "7100", "A number between 7000 and 8000"),
    Question("Question 4. Which country takes the most land mass", "b", "The country spans two continents", ["(a) United States", "(b) Russia", "(c) Australia", "(d) Antarctica"]),
    Question("Question 5. What hemisphere is Japan located in", "Northern Hemisphere", "The top half of Earth", [], ["north", "northern"]),
    ]
  3. Hapus pernyataan if yang memeriksa apakah pengguna menjawab pertanyaan dengan benar. Ganti ini dengan loop sementara. Perulangan while akan terus berulang sampai jawaban benar. Di dalam loop while, tambahkan hitungan yang akan menampilkan petunjuk setelah pengguna salah menjawab tiga kali.
    for question in quizQuestions:
    if (question.multipleChoiceOptions != None):
    print(f"{question.questionText}?")
    for option in question.multipleChoiceOptions:
    print(option)
    userInput = input()
    else:
    print(f"{question.questionText}?")
    userInput = input()
    count = 0
    while (userInput.lower() != question.answer.lower()):
    if (question.alternateAnswers != None and userInput.lower() in question.alternateAnswers):
    break;
    count = count + 1
    if (count >= 3):
    print(f"Hint: {question.hint}.")
    userInput = input()
    else:
    print("That is not correct, try again.")
    userInput = input()

    print("That is correct!")

  4. Jalankan kembali kuis Anda di baris perintah menggunakan perintah python.
    python InteractiveQuiz.py
  5. Menjawab pertanyaan untuk kuis.

See also  Cara Menambahkan Tema Mode Gelap ke Aplikasi Bereaksi Anda

Membuat Aplikasi Kecil Menggunakan Python

Salah satu proyek yang dapat Anda buat sambil mempelajari cara membuat kode dengan Python adalah kuis interaktif. Dalam kuis, Anda dapat menyajikan berbagai jenis pertanyaan kepada pengguna.

Anda dapat menyimpan informasi tentang pertanyaan kuis dalam suatu objek, untuk mencegah Anda mengulangi kode untuk setiap pertanyaan.

Untuk meningkatkan keterampilan Anda dalam Python, ada baiknya Anda berlatih berbagai latihan dan contoh. Anda dapat melihat contoh Python lain yang dapat membantu Anda belajar.