更新於 2023/07/10閱讀時間約 3 分鐘

Python學習筆記-剪刀!石頭!布!

前言
你一定有玩過猜拳遊戲,但你知道怎麼用Python寫一個猜拳遊戲嗎?今天我要分享一個簡單又好玩的程式碼,讓你可以和電腦對戰!
首先,我們要導入random模組,這個模組可以讓我們隨機生成一個數字,代表電腦出的拳。
import random
然後,我們要用input函數讓使用者輸入自己出的拳,0代表剪刀,1代表石頭,2代表布。
user = int(input("[0]剪刀[1]石頭[2]布: "))
電腦隨機出拳,0代表剪刀,1代表石頭,2代表布。
com = random.randint(0, 2)
接下來,我們要用一個列表t來存放這三種拳的名字,方便我們之後輸出結果。
t = ["剪刀", "石頭", "布"]
最後,我們要用一個if-elif-else語句來判斷勝負,規則是:剪刀贏布,布贏石頭,石頭贏剪刀,相同的拳就是平手。
if (user + 1) % 3 == com:
    print("電腦贏")
elif(com + 1) % 3 == user:
    print("我贏了")
else:
    print("平手")
在這個剪刀石頭布的遊戲中,我們使用取餘數的方式判斷勝利的條件是因為每個選項之間存在著循環的勝利關係,這個遊戲中,只有三種可能的選擇:剪刀、石頭和布,分別用數字 0、1 和 2 來表示。
例如,假設使用者選擇石頭(1),而電腦選擇布(2)。
根據規則,石頭應該贏剪刀,剪刀贏布,布應該贏石頭,這可以通過取餘數的方式來判斷:
  • (user + 1) % 3:當使用者選擇石頭(1)時,計算結果為 2。
  • com 的值是電腦選擇的數字,假設為 2(布)。
  • 因此,(user + 1) % 3 == com 的結果為真,表示電腦贏了。
我們利用同樣的原理判斷其他勝利的條件,並根據結果輸出相應的勝利訊息。

完整程式碼如下:
import random
user = int(input("[0]剪刀[1]石頭[2]布: "))
com = random.randint(0, 2)
t = ["剪刀", "石頭", "布"]
print("我出的:", t[user])
print("電腦的:", t[com])
 
if (user + 1) % 3 == com:
    print("電腦贏")
elif(com + 1) % 3 == user:
    print("我贏了")
else:
    print("平手")
這樣就完成了一個猜拳遊戲的程式碼!你可以試試看運行它,看看你能不能打敗電腦!不過要注意,這個程式碼沒有做錯誤處理,所以如果你輸入了不是0、1、2的數字,就會出錯,你可以嘗試改進這個程式碼,讓它更完善更好玩!

感謝您閱讀本篇文章!我們很高興您能從中獲得一些有用的資訊。如果您喜歡這篇文章,請不要吝嗇您的支持,您可以:
  1. 按下愛心:這樣我們就知道您對這篇文章的喜愛程度,也可以讓更多人看到它。
  2. 分享文章:如果您認為這篇文章也能幫助其他人,請把它分享出去。
  3. 追蹤我們:如果您想持續收到更多類似的內容,請點擊追蹤按鈕。
  4. 支持我們:如果您願意,您也可以成為我們的贊助者。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.