Proyek mini Bagian 4: Rock-Paper-Scissors
Proyek Bagian 4 kedua adalah permainan klasik. Kamu mengetik rock,
paper, atau scissors; komputer memilih secara acak; program memutuskan
siapa yang menang. Program ini menggabungkan angka acak,
if/elif/else, dan
and/or — program pertamamu yang dimainkan
melawan komputer.
Yang perlu dibangun
Sebuah program yang, ketika dijalankan:
- Meminta pemain mengetik
rock,paper, atauscissors. - Memilih gerakan komputer secara acak.
- Mencetak apa yang dipilih komputer.
- Mencetak hasilnya: seri, menang, kalah, atau catatan gerakan-tidak-valid.
Aturan menangnya adalah yang biasa:
- rock mengalahkan scissors,
- paper mengalahkan rock,
- scissors mengalahkan paper.
Sesi tipikal:
Choose rock, paper, or scissors: rock
The computer chose scissors.
You win!
File
Versi starter dan yang sudah selesai ada di
projects/rock-paper-scissors/:
starter.py— promptnya sudah ditulis, dengan komentar TODO untuk tiga langkahnya.finished.py— versi yang berfungsi. Baca setelah kamu mencoba milikmu.
Jalankan dengan:
python projects/rock-paper-scissors/starter.py
Petunjuk
import randomdi bagian atas file.random.randint(1, 3)memberikan1,2, atau3. Ubah menjadi kata denganif/elif/else.- Periksa pilihan yang tidak valid terlebih dahulu: jika kata yang
diketik bukan salah satu dari ketiganya, katakan demikian dan berhenti.
player != "rock" and player != "paper" and player != "scissors"hanya bernilai benar ketika tidak ada yang cocok. - Pengujian menang adalah tiga kasus yang digabungkan dengan
or, masing-masing merupakananddari dua gerakan, sepertiplayer == "rock" and computer == "scissors".
Yang belum bisa kamu gunakan
- List (Bagian 5). Tiga cabang
ifmenggantikan list pilihan. - Function buatanmu sendiri (Bagian 5). Seluruh game muat dalam satu skrip.
- Loop, kecuali kamu menambahkan fitur main-lagi di bagian peregangan di bawah.
Tantangan yang lebih besar (opsional)
- Main lagi. Bungkus game dalam loop
while True:dan berhenti ketika pemain mengetikquitbukan gerakan. - Simpan skor. Lacak menang dan kalah dalam dua variable dan cetak rekapitulasi setelah setiap putaran.
Tidak ada yang diwajibkan untuk menyelesaikan proyek.
Selesai?
Ketika game menerima gerakanmu, memilih gerakannya sendiri, dan mengumumkan hasil yang benar untuk seri, menang, kalah, dan input tidak valid, kamu selesai. Lanjut ke Bab 21 — Function, awal Bagian 5.