国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現人機猜拳小游戲

2020-02-15 21:27:17
字體:
來源:轉載
供稿:網友

今天的這篇文章呢是對人機猜拳小游戲——石頭剪刀布的一個描述以及代碼展現

石頭剪刀布游戲代碼的簡介:關于石頭剪刀布這個小游戲,大致得到思路就是,玩家出一個手勢,然后電腦再隨機出一個手勢,最后再判斷是玩家獲勝還是電腦獲勝。最簡單的思路就是將這三個手勢是三個代號來表示,然后再去判斷代號之間的關系,最后輸出勝方。

最一般情況下,最先想到的就是使用1、2、3數字來對三個手勢進行代號化,然后再通過代號的大小去判斷,如下是對這個方式的簡述:

石頭   代號   用1來表示

剪刀   代號   用2來表示

布      代號   用3來表示

石頭   >   剪刀

剪刀   >   布

布   >   石頭

站在玩家的角度考慮玩家勝利的情況(分析電腦勝利也是一樣的):如果玩家出的是石頭,只有電腦出剪刀時玩家才可以勝利,石頭代號為1 ,剪刀代號為2,石頭代號<剪刀代號,同時石頭代號也<布的代號;如果玩家出的是剪刀,只有電腦出布時玩家才可以勝利,剪刀代號為2 ,布代號為3,剪刀代號<布代號;如果玩家出的是布,只有電腦出石頭是玩家才可以勝利,布的代號為3,石頭代號為1,布的代號>石頭的代號。由這三條分析可以看出,單純用這三個數字來比較大小的方式(即玩家手勢代號大于或者小于電腦手勢代號的方式)比較復雜。

1.  本代碼思路,使用三種分類方式:玩家贏,平局,玩家輸  來進行三種判斷,當玩家出石頭(1)并且電腦出剪刀(2)或者玩家出剪刀(2)并且電腦出布(3)或者玩家出布(3)并且電腦出石頭(1)這三種情況時,玩家贏;當玩家和電腦的手勢代號一致時,平局;其他情況玩家輸。

代碼如下:

import random  #導包print("********歡迎來到猜拳小游戲********")while True: key = int(input("請輸入您的出拳選項:1,剪刀。2,石頭。3,布:")) #從鍵盤上得到手勢代號 while (key not in [1, 2, 3]): #判斷當輸入的手勢代號是否符合要求,不符合要求時,重新輸入  print("您的輸入有誤,請重新輸入")  key = int(input("請輸入您的出拳選項:1,剪刀。2,石頭。3,布:")) com_key=random.randint(1,3) #利用隨機函數隨機生成1到3之間的整數 if (key==1 and com_key==2) or (key==2 and com_key==3) or (key==3 and com_key==1):   print("恭喜你啦,你贏了呦,加油!!!") elif key==com_key:  print("此局是平局") else:  print("真是遺憾呢,你輸了。。。。") n=input("請輸入n結束游戲或者輸入其他字符繼續游戲:") if n=="n":  breakprint("游戲結束")

運行結果如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柞水县| 浮梁县| 铅山县| 洪洞县| 米林县| 池州市| 陵川县| 和顺县| 江油市| 墨竹工卡县| 五家渠市| 定南县| 东港市| 葫芦岛市| 屏山县| 通河县| 平顶山市| 长白| 修水县| 博兴县| 大方县| 潞西市| 大厂| 平安县| 白朗县| 建阳市| 湖口县| 盐源县| 北宁市| 新巴尔虎左旗| 芜湖县| 西乌珠穆沁旗| 韶山市| 防城港市| 玉山县| 桐柏县| 垣曲县| 文昌市| 靖安县| 固镇县| 溧阳市|