欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python數(shù)據(jù)結(jié)構(gòu)與算法之使用隊(duì)列解決小貓釣魚問題

 更新時間:2017年12月14日 11:26:34   作者:hanahimi  
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之使用隊(duì)列解決小貓釣魚問題,結(jié)合實(shí)例形式分析了Python使用隊(duì)列實(shí)現(xiàn)小貓釣魚游戲的算法操作技巧,代碼中備有較為詳盡的注釋便于讀者理解,需要的朋友可以參考下

本文實(shí)例講述了Python數(shù)據(jù)結(jié)構(gòu)與算法之使用隊(duì)列解決小貓釣魚問題。分享給大家供大家參考,具體如下:

按照《啊哈》里的思路實(shí)現(xiàn)這道題目,但是和結(jié)果不一樣,我自己用一幅牌試了一下,發(fā)現(xiàn)是我的結(jié)果像一點(diǎn),可能我理解的有偏差。

# 小貓釣魚
# 計(jì)算桌上每種牌的數(shù)量
# 使用defaultdict類,并設(shè)置默認(rèn)類型為int型,即默認(rèn)值為0
# cardcounts = defaultdict(int)
# 不過deque有對應(yīng)的方法
def henhenhaahaa():
  from collections import deque
  hen = deque()      # hen的手牌
  haa = deque()      # haa的手牌
  table = deque()     # 桌上的牌
  # 手扎初始化
  for card in [2,4,1,2,5,6]:
    hen.append(card)
  for card in [3,1,3,5,6,4]:
    haa.append(card)
  # 當(dāng)兩個人的手牌都不為零食,游戲繼續(xù)
  # 如果某人打出的牌與桌上的某張牌相同
  # 即可將兩張牌以及中間的所有牌以此取走
  # 由于桌上同樣的牌不可能超過兩張
  # 只要計(jì)算目標(biāo)牌的數(shù)量,以此取回即可
  # 刷新桌上的牌(打出牌,取牌)
  def refreshtable(person, card):
    table.append(card)
    if table.count(card)>=2:
      while table.count(card)>0:
        person.append(table.pop())
  while len(hen)!=0 and len(haa)!=0:
#     print "tab:",list(table)
    i = hen.popleft()        # hen先出牌
#     print "hen put",i
    refreshtable(hen, i)      # hen動作
#     print "hen:",list(hen)
#     print "tab:",list(table)
    j = haa.popleft()        # haa后出牌
#     print "haa put",j
    refreshtable(haa, j)      # haa動作
#     print "haa:",list(haa)
#     print "tab:",list(table)
#     print "next turn"
  if len(hen)!=0:
    print "hen win"
    print "hen:",list(hen)
  else:
    print "haa win"
    print "haa:",list(haa)
  print "ontables"
  print "tab:",list(table)
if __name__=="__main__":
  print "腳本之家測試結(jié)果:"
  henhenhaahaa()
  # 我自己手動用牌模擬的結(jié)果根本就和書上不一樣
  # 我覺得我自己的答案沒啥問題
  # 單步模擬的結(jié)果也是一樣的

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

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python Pandas時序數(shù)據(jù)處理

    python Pandas時序數(shù)據(jù)處理

    這篇文章主要介紹了python Pandas時序數(shù)據(jù)處理,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • PyCharm配置KBEngine快速處理代碼提示沖突、配置命令問題

    PyCharm配置KBEngine快速處理代碼提示沖突、配置命令問題

    這篇文章主要介紹了PyCharm配置KBEngine,解決代碼提示沖突、配置命令,本文通過圖文并茂的形式給大家介紹的超詳細(xì),需要的朋友可以參考下
    2021-04-04
  • Python超詳細(xì)講解內(nèi)存管理機(jī)制

    Python超詳細(xì)講解內(nèi)存管理機(jī)制

    本章主要介紹Pyhon的內(nèi)存管理,以Pyhon的計(jì)數(shù)機(jī)制作為引入,介紹Pyhon的內(nèi)存管理方式,感興趣的朋友來看看吧
    2022-06-06
  • pycharm激活方法到2099年(激活流程)

    pycharm激活方法到2099年(激活流程)

    這篇文章主要介紹了pycharm激活方法到2099年,文末給大家提到了idea和pycharm最新版激活方法,非常不錯對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • python使用PyV8執(zhí)行javascript代碼示例分享

    python使用PyV8執(zhí)行javascript代碼示例分享

    這篇文章主要介紹了python使用PyV8執(zhí)行javascript的小示例,大家參考使用吧
    2013-12-12
  • 利用Python寫一個爬妹子的爬蟲

    利用Python寫一個爬妹子的爬蟲

    這篇文章主要給大家介紹了關(guān)于利用Python寫一個爬妹子爬蟲的相關(guān)資料,文中通過實(shí)例代碼將實(shí)現(xiàn)的方法一步步介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • python裝飾器中@property屬性的使用解析

    python裝飾器中@property屬性的使用解析

    這篇文章主要介紹了python裝飾器中@property屬性的使用解析,property屬性是一種用起來像是使用的實(shí)例屬性一樣的特殊屬性,可以對應(yīng)于某個方法,需要的朋友可以參考下
    2023-09-09
  • paramiko使用tail實(shí)時獲取服務(wù)器的日志輸出詳解

    paramiko使用tail實(shí)時獲取服務(wù)器的日志輸出詳解

    這篇文章主要給大家介紹了關(guān)于paramiko使用tail實(shí)時獲取服務(wù)器的日志輸出的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python?socket如何解析HTTP請求內(nèi)容

    Python?socket如何解析HTTP請求內(nèi)容

    這篇文章主要介紹了Python?socket如何解析HTTP請求內(nèi)容,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python全景系列之裝飾器使用的全面講解

    Python全景系列之裝飾器使用的全面講解

    裝飾器在Python中扮演了重要的角色,文將深入探討裝飾器的所有相關(guān)主題,包括裝飾器的基礎(chǔ)知識、實(shí)現(xiàn)與使用、工作原理等,需要的可以參考一下
    2023-05-05

最新評論