Permainan salin dan tempel kode python

Pemrograman game adalah cara yang bagus untuk mempelajari cara memprogram. Anda menggunakan banyak alat yang akan Anda lihat di dunia nyata, plus Anda dapat bermain game untuk menguji hasil Anda. Gim ideal untuk memulai perjalanan pemrograman gim Python Anda adalah gunting kertas batu

Dalam tutorial ini, Anda akan mempelajari caranya

  • Buat kode permainan gunting kertas batu Anda sendiri
  • Terima input pengguna dengan
    possible_actions = ["rock", "paper", "scissors"]
    computer_action = random.choice(possible_actions)
    
    _9
  • Mainkan beberapa game berturut-turut menggunakan
    print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
    
    0 loop
  • Bersihkan kode Anda dengan
    print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
    
    _1 dan fungsi
  • Tetapkan aturan yang lebih kompleks dengan kamus

Bonus Gratis. 5 Pemikiran Tentang Python Mastery, kursus gratis untuk pengembang Python yang menunjukkan kepada Anda peta jalan dan pola pikir yang Anda perlukan untuk meningkatkan keterampilan Python Anda ke tingkat berikutnya

Apa itu Gunting Kertas Batu?

Anda mungkin pernah memainkan gunting kertas batu sebelumnya. Mungkin Anda telah menggunakannya untuk memutuskan siapa yang membayar makan malam atau siapa yang mendapatkan pemain pilihan pertama untuk sebuah tim

Jika Anda tidak terbiasa, gunting kertas batu adalah permainan tangan untuk dua atau lebih pemain. Peserta mengatakan "batu, kertas, gunting" dan kemudian secara bersamaan membentuk tangan mereka menjadi bentuk batu (kepalan tangan), selembar kertas (telapak tangan menghadap ke bawah), atau gunting (dua jari terulur). Aturannya mudah

  • Batu menghancurkan gunting
  • Kertas menutupi batu
  • Gunting memotong kertas

Sekarang setelah Anda memiliki aturannya, Anda dapat mulai berpikir tentang bagaimana mereka dapat menerjemahkan ke kode Python

Hilangkan iklan

Mainkan Game Tunggal Rock Paper Scissors dengan Python

Dengan menggunakan uraian dan aturan di atas, Anda dapat membuat permainan batu gunting kertas. Sebelum Anda masuk, Anda perlu mengimpor modul yang akan Anda gunakan untuk mensimulasikan pilihan komputer

import random

Luar biasa. Sekarang Anda dapat menggunakan berbagai alat di dalam

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
2 untuk mengacak tindakan komputer dalam game. Sekarang apa?

Ambil Masukan Pengguna

Mengambil masukan dari pengguna cukup mudah dengan Python. Tujuannya di sini adalah untuk menanyakan kepada pengguna apa yang ingin mereka pilih sebagai tindakan dan kemudian menetapkan pilihan itu ke sebuah variabel

user_action = input("Enter a choice (rock, paper, scissors): ")

Ini akan meminta pengguna untuk memasukkan pilihan dan menyimpannya ke variabel untuk digunakan nanti. Sekarang pengguna telah memilih tindakan, komputer perlu memutuskan apa yang harus dilakukan

Jadikan Komputer Pilih

Permainan kompetitif gunting kertas batu melibatkan strategi. Alih-alih mencoba mengembangkan model untuk itu, Anda dapat menghemat waktu dengan membuat komputer memilih tindakan acak. Pilihan acak adalah cara terbaik agar komputer memilih nilai acak semu

Anda dapat menggunakan

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
_3 agar komputer secara acak memilih di antara tindakan

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)

Ini memungkinkan elemen acak dipilih dari daftar. Anda juga dapat mencetak pilihan yang dibuat oleh pengguna dan komputer

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
_

Mencetak tindakan pengguna dan komputer dapat membantu pengguna, dan ini juga dapat membantu Anda melakukan debug nanti jika ada yang tidak beres dengan hasilnya

Tentukan Pemenang

Sekarang kedua pemain telah menentukan pilihannya, Anda hanya perlu cara untuk memutuskan siapa yang menang. Menggunakan blok

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
4 …
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
5 …
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
6, Anda dapat membandingkan pilihan pemain dan menentukan pemenang

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")

Dengan membandingkan kondisi seri terlebih dahulu, Anda menyingkirkan beberapa kasus. Jika Anda tidak melakukannya, maka Anda perlu memeriksa setiap kemungkinan tindakan untuk

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
7 dan membandingkannya dengan setiap kemungkinan tindakan untuk
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
8. Dengan memeriksa kondisi seri terlebih dahulu, Anda dapat mengetahui apa yang dipilih komputer hanya dengan dua pemeriksaan bersyarat
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
8

Dan itu dia. Semua digabungkan, kode Anda sekarang akan terlihat seperti ini

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")

Anda sekarang telah menulis kode untuk menerima input pengguna, memilih tindakan acak untuk komputer, dan memutuskan pemenangnya. Tapi ini hanya memungkinkan Anda memainkan satu game sebelum program selesai berjalan

Hilangkan iklan

Mainkan Beberapa Game Berturut-turut

Meskipun satu permainan gunting kertas batu sangat menyenangkan, bukankah lebih baik jika Anda bisa memainkan beberapa permainan sekaligus? . Secara khusus, Anda dapat menggunakan

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
_0 loop untuk bermain tanpa batas

import random

while True:
    user_action = input("Enter a choice (rock, paper, scissors): ")
    possible_actions = ["rock", "paper", "scissors"]
    computer_action = random.choice(possible_actions)
    print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

    if user_action == computer_action:
        print(f"Both players selected {user_action}. It's a tie!")
    elif user_action == "rock":
        if computer_action == "scissors":
            print("Rock smashes scissors! You win!")
        else:
            print("Paper covers rock! You lose.")
    elif user_action == "paper":
        if computer_action == "rock":
            print("Paper covers rock! You win!")
        else:
            print("Scissors cuts paper! You lose.")
    elif user_action == "scissors":
        if computer_action == "paper":
            print("Scissors cuts paper! You win!")
        else:
            print("Rock smashes scissors! You lose.")

    play_again = input("Play again? (y/n): ")
    if play_again.lower() != "y":
        break

Perhatikan garis yang disorot di atas. Penting untuk memeriksa apakah pengguna ingin bermain lagi dan ke

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
1 jika tidak. Tanpa pemeriksaan itu, pengguna akan dipaksa untuk bermain sampai mereka menghentikan konsol menggunakan Ctrl + C or a similar method.

Skak untuk bermain lagi adalah skak terhadap senar

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
2. Tetapi memeriksa sesuatu yang spesifik seperti ini mungkin mempersulit pengguna untuk berhenti bermain. Bagaimana jika pengguna mengetik
if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_3 atau
if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
4? . Mereka mungkin melakukan semua huruf kecil, semua huruf besar, atau bahkan campuran keduanya

Berikut adalah hasil dari beberapa perbandingan string yang berbeda

>>>

>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
_

Hmm. Bukan itu yang Anda inginkan. Pengguna mungkin tidak terlalu senang jika mereka memasuki

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
3 berharap untuk bermain lagi tetapi dikeluarkan dari permainan

Jelaskan Tindakan Dengan if user_action == computer_action: print(f"Both players selected {user_action}. It's a tie!") elif user_action == "rock": if computer_action == "scissors": print("Rock smashes scissors! You win!") else: print("Paper covers rock! You lose.") elif user_action == "paper": if computer_action == "rock": print("Paper covers rock! You win!") else: print("Scissors cuts paper! You lose.") elif user_action == "scissors": if computer_action == "paper": print("Scissors cuts paper! You win!") else: print("Rock smashes scissors! You lose.") 6

Karena perbandingan string dapat menyebabkan masalah seperti yang Anda lihat di atas, ada baiknya untuk menghindarinya sebisa mungkin. Namun, salah satu hal pertama yang diminta program Anda adalah agar pengguna memasukkan string. Bagaimana jika pengguna salah memasukkan

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_7 atau
if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
8?

>>>

>>> print("rock" == "Rock")
False
_

Karena kapitalisasi penting,

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
9 dan
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
0 tidak sama. Salah satu solusi yang mungkin adalah menggunakan angka sebagai gantinya. Menetapkan setiap tindakan nomor dapat menyelamatkan Anda dari beberapa masalah

ROCK_ACTION = 0
PAPER_ACTION = 1
SCISSORS_ACTION = 2

Ini memungkinkan Anda untuk mereferensikan tindakan yang berbeda dengan nomor yang ditetapkan. Bilangan bulat tidak mengalami masalah perbandingan yang sama dengan string, jadi ini bisa berhasil. Sekarang Anda dapat meminta pengguna memasukkan angka dan membandingkannya langsung dengan nilai tersebut

user_action = input("Enter a choice (rock, paper, scissors): ")
0

Karena

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
_9 mengembalikan sebuah string, Anda perlu mengonversi nilai yang dikembalikan menjadi bilangan bulat menggunakan
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
2. Kemudian Anda dapat membandingkan masukan untuk setiap tindakan di atas. Ini berfungsi dengan baik, tetapi mungkin Anda bergantung pada penamaan variabel dengan benar untuk melacaknya. Cara yang lebih baik adalah menggunakan
if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_6 dan menentukan kelas tindakan Anda sendiri

Menggunakan

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_6 memungkinkan Anda membuat atribut dan menetapkan nilai yang mirip dengan yang ditunjukkan di atas. Ini membantu membersihkan kode Anda dengan mengelompokkan tindakan ke dalam ruang namanya sendiri dan membuat kode lebih ekspresif

user_action = input("Enter a choice (rock, paper, scissors): ")
1

Ini membuat

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 khusus yang dapat Anda gunakan untuk mereferensikan berbagai jenis tindakan yang Anda dukung. Ini bekerja dengan menetapkan setiap atribut di dalamnya ke nilai yang Anda tentukan

Perbandingan masih mudah, dan sekarang mereka memiliki nama kelas yang berguna yang terkait dengannya

>>>

user_action = input("Enter a choice (rock, paper, scissors): ")
2

Karena nilai anggotanya sama, perbandingannya sama. Nama kelas juga memperjelas bahwa Anda ingin membandingkan dua tindakan

Catatan. Untuk mempelajari lebih lanjut tentang

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
6, lihat Build Enumerations of Constants With Python's Enum

Anda bahkan dapat membuat

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 dari
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
8

>>>

user_action = input("Enter a choice (rock, paper, scissors): ")
3

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 melihat nilai yang diteruskan dan mengembalikan
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
5 yang sesuai. Ini berguna karena sekarang Anda dapat mengambil input pengguna sebagai
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
8 dan membuat
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
5 darinya. Tidak perlu lagi khawatir tentang ejaan

Hilangkan iklan

Alur (bagan) Program Anda

Meskipun gunting kertas batu mungkin tampak tidak rumit, penting untuk mempertimbangkan dengan hati-hati langkah-langkah yang terlibat dalam memainkannya sehingga Anda dapat yakin bahwa program Anda mencakup semua kemungkinan skenario. Untuk proyek apa pun, bahkan yang kecil, akan sangat membantu untuk membuat bagan alur dari perilaku yang diinginkan dan mengimplementasikan kode di sekitarnya. Anda dapat memperoleh hasil yang serupa dengan menggunakan daftar berpoin, tetapi akan lebih sulit untuk menangkap hal-hal seperti loop dan logika kondisional

Diagram alir tidak harus terlalu rumit atau bahkan menggunakan kode asli. Hanya menjelaskan perilaku yang diinginkan sebelumnya dapat membantu Anda memperbaiki masalah sebelum terjadi

Berikut adalah diagram alur yang menggambarkan satu permainan gunting kertas batu

Permainan salin dan tempel kode python

Setiap pemain memilih aksi dan kemudian pemenang ditentukan. Diagram alir ini akurat untuk satu game seperti yang telah Anda kodekan, tetapi belum tentu akurat untuk game kehidupan nyata. Dalam kehidupan nyata, para pemain memilih tindakan mereka secara bersamaan daripada satu per satu seperti yang disarankan oleh diagram alur

Namun, dalam versi kode, ini berfungsi karena pilihan pemain disembunyikan dari komputer, dan pilihan komputer disembunyikan dari pemain. Kedua pemain dapat membuat pilihan mereka pada waktu yang berbeda tanpa mempengaruhi keadilan permainan

Bagan alir membantu Anda mengetahui kemungkinan kesalahan sejak dini dan juga memungkinkan Anda melihat apakah Anda ingin menambahkan lebih banyak fungsi. Sebagai contoh, berikut adalah flowchart yang menjelaskan cara bermain game berulang kali hingga pengguna memutuskan untuk berhenti

Permainan salin dan tempel kode python

Tanpa menulis kode, Anda dapat melihat bahwa diagram alur pertama tidak dapat diputar ulang. Pendekatan ini memungkinkan Anda mengatasi masalah seperti ini sebelum pemrograman, yang membantu Anda membuat kode yang lebih rapi dan mudah dikelola

Pisahkan Kode Anda Menjadi Fungsi

Sekarang setelah Anda menguraikan alur program Anda menggunakan bagan alur, Anda dapat mencoba mengatur kode Anda sehingga lebih mirip dengan langkah-langkah yang telah Anda identifikasi. Salah satu cara alami untuk melakukannya adalah dengan membuat fungsi untuk setiap langkah dalam bagan alur. Fungsi adalah cara yang bagus untuk memisahkan potongan kode yang lebih besar menjadi bagian yang lebih kecil dan lebih mudah dikelola

Anda tidak perlu membuat fungsi agar pemeriksaan bersyarat dapat diputar lagi, tetapi Anda dapat melakukannya jika mau. Anda dapat memulai dengan mengimpor

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
_2 jika Anda belum melakukannya dan menentukan kelas
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
5 Anda

user_action = input("Enter a choice (rock, paper, scissors): ")
_4

Mudah-mudahan sejauh ini semuanya tampak akrab. Sekarang inilah kode untuk

import random

while True:
    user_action = input("Enter a choice (rock, paper, scissors): ")
    possible_actions = ["rock", "paper", "scissors"]
    computer_action = random.choice(possible_actions)
    print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

    if user_action == computer_action:
        print(f"Both players selected {user_action}. It's a tie!")
    elif user_action == "rock":
        if computer_action == "scissors":
            print("Rock smashes scissors! You win!")
        else:
            print("Paper covers rock! You lose.")
    elif user_action == "paper":
        if computer_action == "rock":
            print("Paper covers rock! You win!")
        else:
            print("Scissors cuts paper! You lose.")
    elif user_action == "scissors":
        if computer_action == "paper":
            print("Scissors cuts paper! You win!")
        else:
            print("Rock smashes scissors! You lose.")

    play_again = input("Play again? (y/n): ")
    if play_again.lower() != "y":
        break
_5, yang tidak menerima argumen apa pun dan mengembalikan
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
5

user_action = input("Enter a choice (rock, paper, scissors): ")
5

Perhatikan bagaimana Anda menerima input pengguna sebagai

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
8 dan mendapatkan kembali
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
5. Pesan panjang untuk pengguna itu agak rumit. Apa yang akan terjadi jika Anda ingin menambahkan lebih banyak tindakan?

Sebagai gantinya, Anda dapat menggunakan pemahaman daftar untuk menghasilkan sebagian dari input

user_action = input("Enter a choice (rock, paper, scissors): ")
_6

Sekarang Anda tidak perlu lagi khawatir tentang menambah atau menghapus tindakan di masa mendatang. Menguji ini, Anda dapat melihat bagaimana kode meminta pengguna dan mengembalikan tindakan yang terkait dengan nilai masukan pengguna

>>>

user_action = input("Enter a choice (rock, paper, scissors): ")
7

Sekarang Anda memerlukan fungsi untuk mendapatkan tindakan komputer. Seperti

import random

while True:
    user_action = input("Enter a choice (rock, paper, scissors): ")
    possible_actions = ["rock", "paper", "scissors"]
    computer_action = random.choice(possible_actions)
    print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

    if user_action == computer_action:
        print(f"Both players selected {user_action}. It's a tie!")
    elif user_action == "rock":
        if computer_action == "scissors":
            print("Rock smashes scissors! You win!")
        else:
            print("Paper covers rock! You lose.")
    elif user_action == "paper":
        if computer_action == "rock":
            print("Paper covers rock! You win!")
        else:
            print("Scissors cuts paper! You lose.")
    elif user_action == "scissors":
        if computer_action == "paper":
            print("Scissors cuts paper! You win!")
        else:
            print("Rock smashes scissors! You lose.")

    play_again = input("Play again? (y/n): ")
    if play_again.lower() != "y":
        break
_5, fungsi ini seharusnya tidak menerima argumen dan mengembalikan
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
5. Karena nilai untuk
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 berkisar dari
>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
2 hingga
>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
3, Anda akan ingin membuat angka acak dalam rentang tersebut.
>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
_4 dapat membantu dengan itu

>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
_4 mengembalikan nilai acak antara minimum dan maksimum yang ditentukan (inklusif). Anda dapat menggunakan
>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
_6 untuk membantu mencari tahu apa yang harus menjadi batas atas dalam kode Anda

user_action = input("Enter a choice (rock, paper, scissors): ")
_8

Karena nilai

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 mulai menghitung dari
>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
2, dan len() mulai menghitung dari
>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
9, penting untuk melakukan
>>> print("rock" == "Rock")
False
0

Saat Anda menguji ini, tidak akan ada prompt. Ini hanya akan mengembalikan tindakan yang terkait dengan nomor acak

>>>

user_action = input("Enter a choice (rock, paper, scissors): ")
9

Terlihat bagus. Selanjutnya, Anda membutuhkan cara untuk menentukan pemenang. Fungsi ini akan mengambil dua argumen, tindakan pengguna dan tindakan komputer. Tidak perlu mengembalikan apa pun karena hanya akan menampilkan hasilnya ke konsol

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
0

Ini sangat mirip dengan perbandingan pertama yang Anda gunakan untuk menentukan pemenang. Sekarang Anda bisa langsung membandingkan

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 jenis tanpa khawatir tentang string sial itu

Anda bahkan dapat menguji ini dengan memberikan opsi berbeda ke

>>> print("rock" == "Rock")
False
2 dan melihat apa yang dicetak

>>>

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
1

Karena Anda membuat tindakan dari angka, apa yang akan terjadi jika pengguna Anda mencoba membuat tindakan dari

>>> print("rock" == "Rock")
False
3?

>>>

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
2

Ups. Anda tidak ingin itu terjadi. Di mana dalam bagan alur Anda dapat menambahkan beberapa logika untuk memastikan pengguna telah memasukkan pilihan yang valid?

Masuk akal untuk memasukkan cek segera setelah pengguna membuat pilihan mereka

Permainan salin dan tempel kode python

Jika pengguna memasukkan nilai yang tidak valid, ulangi langkah untuk mendapatkan pilihan pengguna. Satu-satunya persyaratan nyata untuk pemilihan pengguna adalah antara

>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
2 dan
>>> play_again = "yes"
>>> play_again == "n"
False
>>> play_again != "y"
True
3, inklusif. Jika input pengguna berada di luar rentang ini, maka pengecualian
>>> print("rock" == "Rock")
False
7 akan dimunculkan. Untuk menghindari menampilkan pesan kesalahan default kepada pengguna, Anda dapat menangani pengecualian

Catatan. Pengecualian bisa rumit. Untuk informasi lebih lanjut, lihat Pengecualian Python. Sebuah Pengantar

Sekarang setelah Anda menentukan beberapa fungsi yang mencerminkan langkah-langkah dalam bagan alur Anda, logika game Anda jauh lebih tertata dan ringkas. Ini semua

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
0 loop Anda perlu diisi sekarang

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
_3

Bukankah itu terlihat jauh lebih bersih? . Ini membuat kode melanjutkan ke iterasi berikutnya dari loop daripada keluar darinya

Hilangkan iklan

Gunting Kertas Batu … Spock Kadal

Jika Anda pernah melihat The Big Bang Theory, maka Anda mungkin akrab dengan kadal gunting kertas batu Spock. Jika tidak, inilah diagram yang menggambarkan permainan dan aturan yang menentukan pemenang

Permainan salin dan tempel kode python

Anda dapat menggunakan alat yang sama yang Anda pelajari di atas untuk mengimplementasikan game ini. Misalnya, Anda dapat menambahkan ke

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 dan membuat nilai untuk kadal dan Spock. Maka Anda hanya perlu memodifikasi
import random

while True:
    user_action = input("Enter a choice (rock, paper, scissors): ")
    possible_actions = ["rock", "paper", "scissors"]
    computer_action = random.choice(possible_actions)
    print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

    if user_action == computer_action:
        print(f"Both players selected {user_action}. It's a tie!")
    elif user_action == "rock":
        if computer_action == "scissors":
            print("Rock smashes scissors! You win!")
        else:
            print("Paper covers rock! You lose.")
    elif user_action == "paper":
        if computer_action == "rock":
            print("Paper covers rock! You win!")
        else:
            print("Scissors cuts paper! You lose.")
    elif user_action == "scissors":
        if computer_action == "paper":
            print("Scissors cuts paper! You win!")
        else:
            print("Rock smashes scissors! You lose.")

    play_again = input("Play again? (y/n): ")
    if play_again.lower() != "y":
        break
_5 dan
ROCK_ACTION = 0
PAPER_ACTION = 1
SCISSORS_ACTION = 2
3 untuk memasukkan opsi ini. Memperbarui
>>> print("rock" == "Rock")
False
_2, bagaimanapun, akan lebih banyak pekerjaan

Alih-alih menambahkan banyak pernyataan

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
_4 …
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
5 …
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
6 ke kode Anda, Anda dapat menggunakan kamus untuk membantu menunjukkan hubungan antar tindakan. Kamus adalah cara yang bagus untuk menunjukkan hubungan nilai kunci. Dalam hal ini, kuncinya bisa berupa tindakan, seperti gunting, dan nilainya bisa berupa daftar tindakan yang dikalahkannya

Jadi seperti apa ini untuk

>>> print("rock" == "Rock")
False
2 Anda dengan hanya tiga pilihan? . Inilah tampilan kode Anda sebelumnya

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
0

Sekarang, alih-alih membandingkan setiap

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5, Anda dapat memiliki kamus yang menjelaskan kondisi kemenangan

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
5

Anda tetap melakukan hal yang sama seperti sebelumnya dan mengecek kondisi dasi terlebih dahulu. Tetapi alih-alih membandingkan setiap

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
5, Anda malah membandingkan tindakan yang
user_action = input("Enter a choice (rock, paper, scissors): ")
03 mengalahkan
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
8. Karena pasangan kunci-nilai adalah daftar, Anda dapat menggunakan
user_action = input("Enter a choice (rock, paper, scissors): ")
05 untuk memeriksa apakah ada elemen yang berada di dalamnya

Karena Anda tidak lagi menggunakan pernyataan panjang

print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
_4 …
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
5 …
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
6, menambahkan tanda centang untuk tindakan baru ini relatif tidak merepotkan. Anda bisa mulai dengan menambahkan kadal dan Spock ke
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
5

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
_6

Selanjutnya, tambahkan semua hubungan kemenangan dari diagram. Pastikan untuk melakukan ini di bawah

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 sehingga
user_action = input("Enter a choice (rock, paper, scissors): ")
11 akan dapat merujuk semua yang ada di
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
5

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
_7

Perhatikan bagaimana sekarang setiap

import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 memiliki daftar yang berisi dua elemen yang dikalahkannya. Dalam implementasi gunting kertas batu dasar, hanya ada satu elemen

Karena Anda sengaja menulis

import random

while True:
    user_action = input("Enter a choice (rock, paper, scissors): ")
    possible_actions = ["rock", "paper", "scissors"]
    computer_action = random.choice(possible_actions)
    print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

    if user_action == computer_action:
        print(f"Both players selected {user_action}. It's a tie!")
    elif user_action == "rock":
        if computer_action == "scissors":
            print("Rock smashes scissors! You win!")
        else:
            print("Paper covers rock! You lose.")
    elif user_action == "paper":
        if computer_action == "rock":
            print("Paper covers rock! You win!")
        else:
            print("Scissors cuts paper! You lose.")
    elif user_action == "scissors":
        if computer_action == "paper":
            print("Scissors cuts paper! You win!")
        else:
            print("Rock smashes scissors! You lose.")

    play_again = input("Play again? (y/n): ")
    if play_again.lower() != "y":
        break
_5 untuk mengakomodasi tindakan baru, Anda tidak perlu mengubah apa pun tentang kode itu. Hal yang sama berlaku untuk
ROCK_ACTION = 0
PAPER_ACTION = 1
SCISSORS_ACTION = 2
3. Karena panjang
import random

user_action = input("Enter a choice (rock, paper, scissors): ")
possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")

if user_action == computer_action:
    print(f"Both players selected {user_action}. It's a tie!")
elif user_action == "rock":
    if computer_action == "scissors":
        print("Rock smashes scissors! You win!")
    else:
        print("Paper covers rock! You lose.")
elif user_action == "paper":
    if computer_action == "rock":
        print("Paper covers rock! You win!")
    else:
        print("Scissors cuts paper! You lose.")
elif user_action == "scissors":
    if computer_action == "paper":
        print("Scissors cuts paper! You win!")
    else:
        print("Rock smashes scissors! You lose.")
_5 telah berubah, kisaran angka acak juga akan berubah

Lihatlah betapa lebih pendek dan lebih mudah dikelolanya kode sekarang. Untuk melihat kode lengkap untuk program lengkap Anda, perluas kotak di bawah ini

Kode Spock Kadal Gunting Kertas BatuTampilkan/Sembunyikan

possible_actions = ["rock", "paper", "scissors"]
computer_action = random.choice(possible_actions)
_8

Itu dia. Anda telah menerapkan Spock kadal gunting kertas batu dalam kode Python. Periksa ulang untuk memastikan Anda tidak melewatkan apa pun dan coba mainkan

Kesimpulan

Selamat. Anda baru saja menyelesaikan game Python pertama Anda. Anda sekarang tahu cara membuat gunting kertas batu dari awal, dan Anda dapat memperluas jumlah kemungkinan tindakan dalam game Anda dengan sedikit usaha

Dalam tutorial ini, Anda belajar caranya

  • Buat kode permainan gunting kertas batu Anda sendiri
  • Terima input pengguna dengan
    possible_actions = ["rock", "paper", "scissors"]
    computer_action = random.choice(possible_actions)
    
    _9
  • Mainkan beberapa game berturut-turut menggunakan
    print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
    
    0 loop
  • Bersihkan kode Anda dengan
    print(f"\nYou chose {user_action}, computer chose {computer_action}.\n")
    
    _1 dan fungsi
  • Jelaskan aturan yang lebih kompleks dengan kamus

Alat-alat ini akan terus membantu Anda selama banyak petualangan pemrograman Anda. Jika Anda memiliki pertanyaan, jangan ragu untuk menghubungi di bagian komentar di bawah

Tandai sebagai Selesai

Tonton Sekarang Tutorial ini memiliki kursus video terkait yang dibuat oleh tim Real Python. Tonton bersama dengan tutorial tertulis untuk memperdalam pemahaman Anda. Batu, Kertas, Gunting Dengan Python. Game Baris Perintah

🐍 Trik Python 💌

Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python

Permainan salin dan tempel kode python

Kirimi Saya Trik Python »

Tentang Chris Wilkerson

Permainan salin dan tempel kode python
Permainan salin dan tempel kode python

Chris adalah seorang Pythonista yang rajin dan menulis untuk Real Python

» Lebih lanjut tentang Chris


Setiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah

Permainan salin dan tempel kode python

Aldren

Permainan salin dan tempel kode python

Daud

Permainan salin dan tempel kode python

Geir Arne

Permainan salin dan tempel kode python

Joanna

Permainan salin dan tempel kode python

Yakub

Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke Python Nyata

Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakar Pythonista

Tingkatkan Keterampilan Python Anda »

Guru Keterampilan Python Dunia Nyata
Dengan Akses Tak Terbatas ke Real Python

Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista

Tingkatkan Keterampilan Python Anda »

Bagaimana menurut anda?

Nilai artikel ini

Tweet Bagikan Bagikan Email

Apa takeaway # 1 Anda atau hal favorit yang Anda pelajari?

Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami

Bisakah Anda membuat kode game dengan Python?

Oleh karena itu, Python juga merupakan bahasa yang ideal untuk memulai petualangan Anda dalam membuat game , terlepas dari apakah Anda sudah fasih atau tidak. . Karena sintaksis Python yang ramah pendatang baru, pengembang dapat fokus pada dasar-dasar pemrograman game, bukan kompleksitas bahasa itu sendiri.

Bagaimana cara membuat game dengan kode Python?

Berikut adalah contoh pembuatan jendela pygame sederhana. .
import pygame
pygame. init()
layar = pygame. menampilkan. set_mode((400.500))
selesai = Salah
sementara tidak dilakukan
untuk acara di pygame. peristiwa. Dapatkan()
jika acara. ketik == pygame. BERHENTI
selesai = Benar

Bisakah Anda menyalin dan menempelkan kode dengan Python?

Untuk menyalin teks, cukup pilih dan tekan Ctrl-C (Command-C pada Mac) . Jika sorotan menandai pemilihan menghilang, itu normal dan itu berarti berhasil. Untuk menempel, gunakan Ctrl-V (Command-V di Mac).

Bagaimana Anda membuat kode game berbasis teks dengan Python?

Langkah 1. IDLE Python. Buka python IDLE Anda, ini akan membuka shell python
Langkah 2. Buat File Baru. .
Langkah 3. Permainan Fungsi. .
Langkah 4. Buat Pernyataan Jika. .
Langkah 5. Pernyataan Lain. .
Langkah 6. Jika Pernyataan. .
Langkah 7. Jika Pernyataan. .
Langkah 8. Buat Pernyataan Lain