幽灵资源网 Design By www.bzswh.com
本文实例讲述了Python数据结构与算法之使用队列解决小猫钓鱼问题。分享给大家供大家参考,具体如下:
按照《啊哈》里的思路实现这道题目,但是和结果不一样,我自己用一幅牌试了一下,发现是我的结果像一点,可能我理解的有偏差。
# 小猫钓鱼 # 计算桌上每种牌的数量 # 使用defaultdict类,并设置默认类型为int型,即默认值为0 # cardcounts = defaultdict(int) # 不过deque有对应的方法 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) # 当两个人的手牌都不为零食,游戏继续 # 如果某人打出的牌与桌上的某张牌相同 # 即可将两张牌以及中间的所有牌以此取走 # 由于桌上同样的牌不可能超过两张 # 只要计算目标牌的数量,以此取回即可 # 刷新桌上的牌(打出牌,取牌) 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 "测试结果:" henhenhaahaa() # 我自己手动用牌模拟的结果根本就和书上不一样 # 我觉得我自己的答案没啥问题 # 单步模拟的结果也是一样的
运行结果:
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
标签:
Python,队列,小猫钓鱼问题
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。