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

更新於 發佈於 閱讀時間約 4 分鐘
raw-image


前言

你一定有玩過猜拳遊戲,但你知道怎麼用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. 支持我們:如果您願意,您也可以成為我們的贊助者。


留言
avatar-img
留言分享你的想法!
avatar-img
好奇的小仙人掌的沙龍
43會員
24內容數
「Python學習筆記:輕鬆掌握程式設計」是一個豐富的Python學習資源,幫助你從零基礎起步,逐步掌握這個強大的程式語言。這份筆記涵蓋了變數和資料型別、基本運算符、輸入和輸出,並深入探討條件判斷、迴圈和函式等核心主題。此外,你將學習列表、字典和文件操作等常用資料結構,並瞭解物件導向程式設計的概念和遞迴演算法的基礎。
2023/07/21
歡迎回到我的學習筆記,今天我想分享一下在python中幾個反轉字串的作法,反轉字串的意思就像是將文字從「我愛你」變成「你愛我」。 談到反轉字串時,有幾種不同的方法,寫法如下: 以下反轉字串是寫成函式的樣子 1. 使用迴圈: 這是一個傳統的方法,使用迴圈來反轉字串。
Thumbnail
2023/07/21
歡迎回到我的學習筆記,今天我想分享一下在python中幾個反轉字串的作法,反轉字串的意思就像是將文字從「我愛你」變成「你愛我」。 談到反轉字串時,有幾種不同的方法,寫法如下: 以下反轉字串是寫成函式的樣子 1. 使用迴圈: 這是一個傳統的方法,使用迴圈來反轉字串。
Thumbnail
2023/07/17
大家好,歡迎來到我的學習筆記系列,今天我要跟大家分享一下 Python 的 datetime 模組,這是一個非常實用的模組,可以幫助我們處理日期和時間相關的問題。 datetime 模組提供了四個主要的類別,分別是 date、time、datetime 和 timedelta。
Thumbnail
2023/07/17
大家好,歡迎來到我的學習筆記系列,今天我要跟大家分享一下 Python 的 datetime 模組,這是一個非常實用的模組,可以幫助我們處理日期和時間相關的問題。 datetime 模組提供了四個主要的類別,分別是 date、time、datetime 和 timedelta。
Thumbnail
2023/07/12
Python time模組是一個提供時間相關功能的模組,可以用來獲取當前時間、格式化時間、延遲執行、測量執行時間等,今天將介紹time模組的常用函數和用法。   1. 獲取當前時間 time模組提供了多種獲取當前時間的函數,例如: time.time():返回當前時間的時間戳,即從1970
Thumbnail
2023/07/12
Python time模組是一個提供時間相關功能的模組,可以用來獲取當前時間、格式化時間、延遲執行、測量執行時間等,今天將介紹time模組的常用函數和用法。   1. 獲取當前時間 time模組提供了多種獲取當前時間的函數,例如: time.time():返回當前時間的時間戳,即從1970
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
賓果的遊戲描述 在一個5x5的方陣上隨機填充1~25的數字。 玩家(使用者) 和 電腦(AI)輪流叫一個號碼,最先占據一整條直線連線的獲勝。 就像小時候玩的bingo 賓果連線遊戲一樣! (可以是占據兩條對角線,可以是占據水平直線,可以是占據垂直直線)
Thumbnail
賓果的遊戲描述 在一個5x5的方陣上隨機填充1~25的數字。 玩家(使用者) 和 電腦(AI)輪流叫一個號碼,最先占據一整條直線連線的獲勝。 就像小時候玩的bingo 賓果連線遊戲一樣! (可以是占據兩條對角線,可以是占據水平直線,可以是占據垂直直線)
Thumbnail
你一定有玩過猜拳遊戲,但你知道怎麼用Python寫一個猜拳遊戲嗎?今天我要分享一個簡單又好玩的程式碼,讓你可以和電腦對戰! 首先,我們要導入random模組,這個模組可以讓我們隨機生成一個數字,代表電腦出的拳。 然後,我們要用input函數讓使用者輸入自己出的拳,0代表剪刀,1代表石頭,2代表
Thumbnail
你一定有玩過猜拳遊戲,但你知道怎麼用Python寫一個猜拳遊戲嗎?今天我要分享一個簡單又好玩的程式碼,讓你可以和電腦對戰! 首先,我們要導入random模組,這個模組可以讓我們隨機生成一個數字,代表電腦出的拳。 然後,我們要用input函數讓使用者輸入自己出的拳,0代表剪刀,1代表石頭,2代表
Thumbnail
最近我一直在初心二星徘徊,升不上去。 所以我找了一些資料,用「科學」的方式提升實力。
Thumbnail
最近我一直在初心二星徘徊,升不上去。 所以我找了一些資料,用「科學」的方式提升實力。
Thumbnail
相信兒美教學的老師都會有一個順手的骰子 其實除了數字外,你還可以這樣玩~
Thumbnail
相信兒美教學的老師都會有一個順手的骰子 其實除了數字外,你還可以這樣玩~
Thumbnail
遊戲規則如下: 此方法可以套用在任何過年會玩到的賭博遊戲,如麻將、十點半、大老二......等。 開始前,每人先拿出固定金額本金投入,例如每人500。(可以先拿一個罐子裝)。 遊戲每一輪結算一次(依遊戲而定,例如:十點半每人輪流當莊2次為一輪),並需要一名計分人員(可以是參賽者)。 優點
Thumbnail
遊戲規則如下: 此方法可以套用在任何過年會玩到的賭博遊戲,如麻將、十點半、大老二......等。 開始前,每人先拿出固定金額本金投入,例如每人500。(可以先拿一個罐子裝)。 遊戲每一輪結算一次(依遊戲而定,例如:十點半每人輪流當莊2次為一輪),並需要一名計分人員(可以是參賽者)。 優點
Thumbnail
近期是上班族最期待的新年假期,先祝大家新年快樂。 雖然再過幾天大家就得回去面對現實上班,但總歸還有2~3天可以好好耍耍廢、補充點精氣神(?) 說到過年,除了和親人一起圍爐、吃吃東西、聊的天南地北外,最近重要的就是一起,玩 遊 戲! 以下介紹我自己過年時會玩的幾款遊戲。 麻將 德州撲克 21點
Thumbnail
近期是上班族最期待的新年假期,先祝大家新年快樂。 雖然再過幾天大家就得回去面對現實上班,但總歸還有2~3天可以好好耍耍廢、補充點精氣神(?) 說到過年,除了和親人一起圍爐、吃吃東西、聊的天南地北外,最近重要的就是一起,玩 遊 戲! 以下介紹我自己過年時會玩的幾款遊戲。 麻將 德州撲克 21點
Thumbnail
這篇文章將利用之前所學過的一些東西,包括if敘述、串列、while迴圈、函數等等的觀念,來實作一個撲克牌的小遊戲-21點。
Thumbnail
這篇文章將利用之前所學過的一些東西,包括if敘述、串列、while迴圈、函數等等的觀念,來實作一個撲克牌的小遊戲-21點。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News