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

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

前言

你一定有玩過猜拳遊戲,但你知道怎麼用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. 支持我們:如果您願意,您也可以成為我們的贊助者。
為什麼會看到廣告
「Python學習筆記:輕鬆掌握程式設計」是一個豐富的Python學習資源,幫助你從零基礎起步,逐步掌握這個強大的程式語言。這份筆記涵蓋了變數和資料型別、基本運算符、輸入和輸出,並深入探討條件判斷、迴圈和函式等核心主題。此外,你將學習列表、字典和文件操作等常用資料結構,並瞭解物件導向程式設計的概念和遞迴演算法的基礎。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
大家好,歡迎來到我的Python學習筆記系列,今天我要跟大家介紹一種資料結構,叫做tuple,tuple是一種不可變的序列,也就是說,一旦建立了tuple,就不能對它的元素進行增加、刪除或修改。 tuple的優點是它佔用的記憶體空間比較小,而且可以作為字典的鍵或集合的元素。tuple的缺點是它
在 Python 中,集合(Set)是一種重要的資料結構,它提供了一個無序、不可重複元素的集合容器。Set 具有強大的數學運算功能,並且在處理需要去除重複元素或進行成員檢查的情況下非常有用。
今天我要跟大家分享的是python寫的猜數字遊戲。遊戲的規則很簡單,就是電腦會隨機產生一個1到100之間的整數,然後讓使用者猜這個數字是多少,每次猜完電腦會提示使用者是猜大了還是猜小了,直到猜中為止,遊戲還會記錄使用者猜了幾次,並根據次數給予不同的評價,下面我們來看看程式碼吧!
在Python中,有一種很方便的方式來格式化字串,就是使用f-string 或format()函式。f-string是一種字串前面加上f,可以在字串中使用大括號{}來插入變數或表達式。format()是另一種方法,可以在字串後面加上.format(),並在括號中傳入參數,來替換字串中的大括
Python是一種物件導向的程式語言,它讓我們可以使用類別(Class)來定義和創建物件,想像一個物件就像是一個實體,可以包含資料和功能。 舉例來說,一個人可以被視為一個物件,它有姓名、年齡等資料,還可以說話、走路等功能。類別就像是一個模板,它描述了物件的特徵和行為。 Python中,我們使用
在這篇文章中,我將簡要介紹如何使用Python來處理文件,包括如何打開、讀取、寫入和關閉文件。我也會給出一些範例程式碼和註解,讓你更容易理解和學習。要打開一個文件,我們需要使用open()函數,它接受文件名稱和模式兩個參數。文件名稱是一個字串,表示要訪問的文件的路徑和名稱。
大家好,歡迎來到我的Python學習筆記系列,今天我要跟大家介紹一種資料結構,叫做tuple,tuple是一種不可變的序列,也就是說,一旦建立了tuple,就不能對它的元素進行增加、刪除或修改。 tuple的優點是它佔用的記憶體空間比較小,而且可以作為字典的鍵或集合的元素。tuple的缺點是它
在 Python 中,集合(Set)是一種重要的資料結構,它提供了一個無序、不可重複元素的集合容器。Set 具有強大的數學運算功能,並且在處理需要去除重複元素或進行成員檢查的情況下非常有用。
今天我要跟大家分享的是python寫的猜數字遊戲。遊戲的規則很簡單,就是電腦會隨機產生一個1到100之間的整數,然後讓使用者猜這個數字是多少,每次猜完電腦會提示使用者是猜大了還是猜小了,直到猜中為止,遊戲還會記錄使用者猜了幾次,並根據次數給予不同的評價,下面我們來看看程式碼吧!
在Python中,有一種很方便的方式來格式化字串,就是使用f-string 或format()函式。f-string是一種字串前面加上f,可以在字串中使用大括號{}來插入變數或表達式。format()是另一種方法,可以在字串後面加上.format(),並在括號中傳入參數,來替換字串中的大括
Python是一種物件導向的程式語言,它讓我們可以使用類別(Class)來定義和創建物件,想像一個物件就像是一個實體,可以包含資料和功能。 舉例來說,一個人可以被視為一個物件,它有姓名、年齡等資料,還可以說話、走路等功能。類別就像是一個模板,它描述了物件的特徵和行為。 Python中,我們使用
在這篇文章中,我將簡要介紹如何使用Python來處理文件,包括如何打開、讀取、寫入和關閉文件。我也會給出一些範例程式碼和註解,讓你更容易理解和學習。要打開一個文件,我們需要使用open()函數,它接受文件名稱和模式兩個參數。文件名稱是一個字串,表示要訪問的文件的路徑和名稱。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
去年錄製好的線上課程,今年終於上架了! 非常慚愧,在方格子平台還沒寫幾篇內容,就要先宣傳自己的課程。不過現在67折優惠,宣傳還是有必要的吧,哈!我就維持喜寫論述的習性,介紹一下這門課程,以及我在這個領域──金融商品價格預測──所看見的狀況。 好奇的可以當補充課外知識,有興趣的可以看文末的課程連結。
Thumbnail
前言 在完成ALPHA Camp學期2-3的課程,因為接著上了彭彭老師的WeHelp coding bootcamp,再加上年底工作也較忙,似乎還沒機會好好整理學期2-3的心得,這邊可能至少先欠一篇文章,想先根據這周末學習Falsk session的運作機制做些簡單的紀錄。 何謂Flask
Thumbnail
「品酒」已經不再是有錢人的權利,在這個美酒當道的年代,我們要如何像 Somm 電影的品酒師,一口就能辨別出「口感」、「年份」、「產地」,甚至預測下一季爆款的酒呢? 情境: 這時候,機器學習與深度學習都是相當好的辦法,但我們要成為好的品酒工程師之前,我們必須學會理解「數據來源」、「產業知識」、「演算法
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
我希望透過在好學校開設「Python 的 50+ 練習:資料科學學習手冊」,讓學生一步步完成這門課程所有的觀念講解、範例實作以及練習之後,扎實地將 Python 程式設計與資料科學應用納入自己的技能組,成為一位擅長寫程式處理資料的分析師,大幅提升工作掌握度與職涯發展性!
Thumbnail
今天要介紹的是簡單的文本分析,主要內容會包含處理html標籤、jieba斷詞、TF-IDF轉換與Logistic Regression和svm,透過文本探勘預測哪些文本會成為熱門文章。
Thumbnail
幾週前開始線上學習 Python,一路完成了十九關的關卡,也就是十九堂基礎課程。整體來說前面一到十四關都不算難度高,但越到後面其實更需要耗費許多專注心力與邏輯思考,無奈自己時而處理其他日常工作,變成全神貫注學習的完整時間幾乎被打碎。所以到後半段,已經不太能花時間坐在電腦前想清楚一整段的代碼要怎麼布建
Thumbnail
很多文章都說未來是人工智慧的時代,程式語言是必備能力,靠著一時腦熱蒐集了許多資訊,我想說學習不用很厲害才開始,只要有興趣就開始吧,就算用不到也沒關係!
Thumbnail
一天一課的上著網路上的 Python 課程。有朋友問說,為什麼要學 Python ?未來要作工程師嗎? 猶記得當時也是楞了一下,這個問題,有太多個表層與深層的回覆與想法。 充實隔離時光 最簡單的說法,其實就是想充實自己的隔離時間。當時在上海隔離(可以參見這一系列的隔離相關文:https://ma
Thumbnail
資料科學家、數據分析師是近幾年新興,而且熱門的職業,而DataCamp是一個專精於資料科學的程式教學網站。在實務上會用到的各種知識與程式技能,從流程面的網路爬蟲、數據清洗、資料視覺化,到技術面的Python、R語言、SQL,在DataCamp上幾乎都可以找到相關教學。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
去年錄製好的線上課程,今年終於上架了! 非常慚愧,在方格子平台還沒寫幾篇內容,就要先宣傳自己的課程。不過現在67折優惠,宣傳還是有必要的吧,哈!我就維持喜寫論述的習性,介紹一下這門課程,以及我在這個領域──金融商品價格預測──所看見的狀況。 好奇的可以當補充課外知識,有興趣的可以看文末的課程連結。
Thumbnail
前言 在完成ALPHA Camp學期2-3的課程,因為接著上了彭彭老師的WeHelp coding bootcamp,再加上年底工作也較忙,似乎還沒機會好好整理學期2-3的心得,這邊可能至少先欠一篇文章,想先根據這周末學習Falsk session的運作機制做些簡單的紀錄。 何謂Flask
Thumbnail
「品酒」已經不再是有錢人的權利,在這個美酒當道的年代,我們要如何像 Somm 電影的品酒師,一口就能辨別出「口感」、「年份」、「產地」,甚至預測下一季爆款的酒呢? 情境: 這時候,機器學習與深度學習都是相當好的辦法,但我們要成為好的品酒工程師之前,我們必須學會理解「數據來源」、「產業知識」、「演算法
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
我希望透過在好學校開設「Python 的 50+ 練習:資料科學學習手冊」,讓學生一步步完成這門課程所有的觀念講解、範例實作以及練習之後,扎實地將 Python 程式設計與資料科學應用納入自己的技能組,成為一位擅長寫程式處理資料的分析師,大幅提升工作掌握度與職涯發展性!
Thumbnail
今天要介紹的是簡單的文本分析,主要內容會包含處理html標籤、jieba斷詞、TF-IDF轉換與Logistic Regression和svm,透過文本探勘預測哪些文本會成為熱門文章。
Thumbnail
幾週前開始線上學習 Python,一路完成了十九關的關卡,也就是十九堂基礎課程。整體來說前面一到十四關都不算難度高,但越到後面其實更需要耗費許多專注心力與邏輯思考,無奈自己時而處理其他日常工作,變成全神貫注學習的完整時間幾乎被打碎。所以到後半段,已經不太能花時間坐在電腦前想清楚一整段的代碼要怎麼布建
Thumbnail
很多文章都說未來是人工智慧的時代,程式語言是必備能力,靠著一時腦熱蒐集了許多資訊,我想說學習不用很厲害才開始,只要有興趣就開始吧,就算用不到也沒關係!
Thumbnail
一天一課的上著網路上的 Python 課程。有朋友問說,為什麼要學 Python ?未來要作工程師嗎? 猶記得當時也是楞了一下,這個問題,有太多個表層與深層的回覆與想法。 充實隔離時光 最簡單的說法,其實就是想充實自己的隔離時間。當時在上海隔離(可以參見這一系列的隔離相關文:https://ma
Thumbnail
資料科學家、數據分析師是近幾年新興,而且熱門的職業,而DataCamp是一個專精於資料科學的程式教學網站。在實務上會用到的各種知識與程式技能,從流程面的網路爬蟲、數據清洗、資料視覺化,到技術面的Python、R語言、SQL,在DataCamp上幾乎都可以找到相關教學。