最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)人機(jī)猜拳小游戲

 更新時(shí)間:2020年02月03日 10:35:17   作者:tingyu_  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)人機(jī)猜拳小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

今天的這篇文章呢是對人機(jī)猜拳小游戲——石頭剪刀布的一個(gè)描述以及代碼展現(xiàn)

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

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

石頭   代號   用1來表示

剪刀   代號   用2來表示

布      代號   用3來表示

石頭   >   剪刀

剪刀   >   布

布   >   石頭

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

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

代碼如下:

import random  #導(dǎo)包
print("********歡迎來到猜拳小游戲********")
while True:
 key = int(input("請輸入您的出拳選項(xiàng):1,剪刀。2,石頭。3,布:")) #從鍵盤上得到手勢代號
 while (key not in [1, 2, 3]): #判斷當(dāng)輸入的手勢代號是否符合要求,不符合要求時(shí),重新輸入
  print("您的輸入有誤,請重新輸入")
  key = int(input("請輸入您的出拳選項(xiàng):1,剪刀。2,石頭。3,布:"))
 com_key=random.randint(1,3) #利用隨機(jī)函數(shù)隨機(jī)生成1到3之間的整數(shù)
 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結(jié)束游戲或者輸入其他字符繼續(xù)游戲:")
 if n=="n":
  break
print("游戲結(jié)束")

運(yùn)行結(jié)果如下:

********歡迎來到猜拳小游戲********
請輸入您的出拳選項(xiàng):1,剪刀。2,石頭。3,布:1
此局是平局
請輸入n結(jié)束游戲或者輸入其他字符繼續(xù)游戲:2
請輸入您的出拳選項(xiàng):1,剪刀。2,石頭。3,布:2
恭喜你啦,你贏了呦,加油?。?!
請輸入n結(jié)束游戲或者輸入其他字符繼續(xù)游戲:2
請輸入您的出拳選項(xiàng):1,剪刀。2,石頭。3,布:3
恭喜你啦,你贏了呦,加油?。。?
請輸入n結(jié)束游戲或者輸入其他字符繼續(xù)游戲:n
游戲結(jié)束

2. 人機(jī)猜拳小游戲升級版:

此版本多出來的功能為,可以為自己起用戶名,并選擇電腦玩家,計(jì)算玩家贏和電腦贏以及游戲總次數(shù)。

import random
print("* "*10+"人機(jī)猜拳"+"* "*10)
name=input("請輸入昵稱:")
hero_key=input("請選擇英雄:1,劉備。2,李白。3,安琪拉")
if hero_key=="1":
 hero_name="劉備"
 print("劉備是個(gè)戰(zhàn)士")
elif hero_key=="2":
 hero_name="李白"
 print("李白適合打野")
else:
 hero_name="安琪拉"
 print("安琪拉是個(gè)法師")
sum=0
# 統(tǒng)計(jì)人贏的和電腦贏的次數(shù)
per_win=0
com_win=0
while True:
 sum=sum+1
 key=int(input("請輸入出拳選項(xiàng):1,剪刀。2,石頭。3,布:"))
 while (key not in [1,2,3]):
  print("輸入有誤請重新輸入")
  key = int(input("請輸入出拳選項(xiàng):1,剪刀。2,石頭。3,布:"))
 if key==1:
  print("%s出了剪刀"%name)
 elif key ==2:
  print("%s出了石頭"%name)
 else:
  print("%s出了布"%name)
 com_key=random.randint(1,3)
 if com_key==1:
  print("%s出了剪刀"%hero_name)
 elif com_key ==2:
  print("%s出了石頭"%hero_name)
 else:
  print("%s出了布"%hero_name)
 # 判斷結(jié)果
 if key==1 and com_key==3 or key ==2 and com_key==1 or key ==3 and com_key==2 :
  print("本局結(jié)果:你贏了")
  per_win=per_win+1
 elif key==com_key:
  print("本局結(jié)果:打平了")
 else:
  print("本局結(jié)果:你輸了,呵呵")
  com_win+=1
 n=input("輸入n結(jié)束游戲輸入其他鍵繼續(xù)")
 if n=="n":
  break
print("游戲結(jié)束")
print("* "*10+"最終結(jié)果"+"* "*10)
print("本次游戲一共進(jìn)行%d局其中%s贏%d局%s贏%d局最終結(jié)果:"%(sum,name,per_win,hero_name,com_win))
if per_win>com_win:
 print("大吉大利今晚吃雞")
elif per_win==com_win:
 print("平局:擇日再戰(zhàn)")
else:
 print("你還是輸了,真菜,呵呵。。。")

運(yùn)行結(jié)果如下: 

* * * * * * * * * * 人機(jī)猜拳* * * * * * * * * * 
請輸入昵稱:魚丸
請選擇英雄:1,劉備。2,李白。3,安琪拉1
劉備是個(gè)戰(zhàn)士
請輸入出拳選項(xiàng):1,剪刀。2,石頭。3,布:2
魚丸出了石頭
劉備出了石頭
本局結(jié)果:打平了
輸入n結(jié)束游戲輸入其他鍵繼續(xù)c
請輸入出拳選項(xiàng):1,剪刀。2,石頭。3,布:2
魚丸出了石頭
劉備出了石頭
本局結(jié)果:打平了
輸入n結(jié)束游戲輸入其他鍵繼續(xù)w
請輸入出拳選項(xiàng):1,剪刀。2,石頭。3,布:3
魚丸出了布
劉備出了石頭
本局結(jié)果:你贏了
輸入n結(jié)束游戲輸入其他鍵繼續(xù)n
游戲結(jié)束
* * * * * * * * * * 最終結(jié)果* * * * * * * * * * 
本次游戲一共進(jìn)行3局其中魚丸贏1局劉備贏0局最終結(jié)果:
大吉大利今晚吃雞

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python collections模塊使用方法詳解

    Python collections模塊使用方法詳解

    這篇文章主要介紹了Python collections模塊使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python面向?qū)ο筇厥獬蓡T

    Python面向?qū)ο筇厥獬蓡T

    這篇文章主要介紹了Python面向?qū)ο筇厥獬蓡T的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • python opencv鼠標(biāo)畫矩形框之cv2.rectangle()函數(shù)

    python opencv鼠標(biāo)畫矩形框之cv2.rectangle()函數(shù)

    鼠標(biāo)操作屬于用戶接口設(shè)計(jì),以前一直使用Qt來做,但是如果只需要簡單的鼠標(biāo),鍵盤操作,直接調(diào)用opencv庫的函數(shù)也未嘗不可,下面這篇文章主要給大家介紹了關(guān)于python opencv鼠標(biāo)畫矩形框cv2.rectangle()函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Python中關(guān)于文件的具體操作與介紹

    Python中關(guān)于文件的具體操作與介紹

    文件與目錄操作是編程語言中非常重要的功能,Python也對其提供了相應(yīng)的API支持,這篇博文就是具體介紹它們的使用方法,通讀本篇對大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python處理JSON時(shí)的值報(bào)錯(cuò)及編碼報(bào)錯(cuò)的兩則解決實(shí)錄

    Python處理JSON時(shí)的值報(bào)錯(cuò)及編碼報(bào)錯(cuò)的兩則解決實(shí)錄

    這篇文章主要介紹了Python處理JSON時(shí)的值報(bào)錯(cuò)及編碼報(bào)錯(cuò)的兩則解決實(shí)錄,在這里還是想建議一下使用Python 3.x版本,Python 3默認(rèn)的Unicode編碼能在實(shí)際使用中為我們省去不少問題,需要的朋友可以參考下
    2016-06-06
  • 這三個(gè)好用的python函數(shù)你不能不知道!

    這三個(gè)好用的python函數(shù)你不能不知道!

    作為21世紀(jì)最流行的語言之一,Python當(dāng)然有很多有趣的功能值得深入探索和研究.今天通過理論和實(shí)際例子來討論,需要的朋友可以參考下
    2021-06-06
  • python按時(shí)間排序目錄下的文件實(shí)現(xiàn)方法

    python按時(shí)間排序目錄下的文件實(shí)現(xiàn)方法

    今天小編就為大家分享一篇python按時(shí)間排序目錄下的文件實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python獲取天氣接口給指定微信好友發(fā)天氣預(yù)報(bào)

    python獲取天氣接口給指定微信好友發(fā)天氣預(yù)報(bào)

    這篇文章主要介紹了python獲取天氣接口給指定微信好友發(fā)天氣預(yù)報(bào)的步驟,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-12-12
  • Python計(jì)算當(dāng)前日期是一年中的第幾天的方法詳解

    Python計(jì)算當(dāng)前日期是一年中的第幾天的方法詳解

    在Python中,計(jì)算當(dāng)前日期是一年中的第幾天可以通過內(nèi)置的datetime模塊來實(shí)現(xiàn),本文將詳細(xì)介紹如何使用Python編寫代碼來完成這個(gè)任務(wù),需要的可以參考下
    2023-12-12
  • Python探索之爬取電商售賣信息代碼示例

    Python探索之爬取電商售賣信息代碼示例

    這篇文章首先簡單介紹了網(wǎng)絡(luò)爬蟲的基本概念,然后向大家分享了一段有關(guān)爬取電商售賣信息的實(shí)例代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10

最新評論

赣榆县| 竹山县| 吉木萨尔县| 榆林市| 大同市| 贞丰县| 五寨县| 麻城市| 鸡东县| 团风县| 富民县| 牙克石市| 望奎县| 鹿邑县| 太谷县| 龙州县| 玉林市| 宣恩县| 临江市| 揭东县| 黎川县| 延长县| 南平市| 通化县| 兖州市| 淮滨县| 华池县| 新丰县| 桐城市| 石城县| 黄梅县| 大庆市| 修水县| 绍兴市| 郸城县| 通州区| 方城县| 固阳县| 体育| 永州市| 迁西县|