Proyek mini Bagian 4: Permainan Tebak Angka

Proyek ini menggabungkan setiap ide dari Bagian 3 dan 4: variable, input, perbandingan, percabangan, looping. Hasilnya adalah sebuah game kecil yang benar-benar interaktif.

Yang perlu dibangun

Sebuah program yang, ketika dijalankan:

  1. Memilih sebuah bilangan bulat acak dari 1 sampai 100 (target), tersembunyi dari pengguna.
  2. Berulang kali:
    • Meminta pengguna menebak.
    • Membaca tebakan.
    • Mencetak Too low., Too high., atau Correct! berdasarkan bagaimana tebakan dibandingkan dengan target.
    • Menghitung percobaan.
  3. Ketika tebakan cocok, mencetak berapa banyak percobaan yang diperlukan, lalu berhenti.

Sesi tipikal:

I am thinking of a number between 1 and 100.
Guess: 50
Too high.
Guess: 25
Too low.
Guess: 37
Too high.
Guess: 31
Too low.
Guess: 34
Correct! You got it in 5 attempts.

File

Versi starter dan yang sudah selesai ada di projects/03-number-guess/:

  • starter.py — kerangka dengan komentar TODO.
  • finished.py — versi yang berfungsi. Bandingkan milikmu setelahnya.

Jalankan dengan:

python projects/03-number-guess/starter.py

Petunjuk

  • import random di bagian atas file, lalu random.randint(1, 100) memilih target. Panggil sekali, sebelum loop. Di dalam loop, target tetap sama.
  • Loop while True: dengan break sangat cocok: isi loop bertanya sekali, lalu pemeriksaan if guess == target: keluar ketika pemain menang.
  • Counter percobaan adalah variable yang disetel ke 0 sebelum loop dan ditambah 1 di dalam isi loop.
  • Tebakan datang sebagai teks dari input(). Bungkus dengan int() sebelum membandingkan, misalnya guess = int(input("Guess: ")).

Yang belum bisa kamu gunakan

  • List. Tidak perlu menyimpan riwayat tebakan.
  • Function buatanmu sendiri. Game ini muat dalam satu skrip langsung.

Tantangan yang lebih besar (opsional)

Jika versi dasarnya sudah berfungsi, coba salah satu dari ini:

  • Setelah tiga tebakan salah, cetak petunjuk yang mengatakan apakah target genap atau ganjil.
  • Lacak tebakan tertinggi dan terendah sejauh ini, dan cetak rentang yang diketahui setiap putaran, seperti (known range: 32 to 49).

Tidak ada yang diwajibkan untuk menganggap proyek selesai.

Selesai?

Ketika game berjalan bersih dari awal sampai akhir — memilih target, menerima tebakan, memberikan umpan balik, berakhir dengan hitungan percobaan — Bagian 4 selesai. Lanjut ke Bab 21 — Function.