python 熊猫钓鱼_Python数据结构与算法之使用队列解决小猫钓鱼问题
本文实例讲述了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数据结构与算法之使用队列解决小猫钓鱼问题
本文地址: http://www.cppcns.com/jiaoben/python/214494.html
python 熊猫钓鱼_Python数据结构与算法之使用队列解决小猫钓鱼问题相关推荐
- python函数结构图_Python数据结构与算法之图结构(Graph)实例分析
本文实例讲述了Python数据结构与算法之图结构(Graph).分享给大家供大家参考,具体如下: 图结构(Graph)--算法学中最强大的框架之一.树结构只是图的一种特殊情况. 如果我们可将自己的工作 ...
- python棋盘最短路径_Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例...
本文实例讲述了Python数据结构与算法之图的最短路径(Dijkstra算法).分享给大家供大家参考,具体如下: # coding:utf-8 # Dijkstra算法--通过边实现松弛 # 指定一个 ...
- python遍历树结构_python 数据结构与算法——树的遍历
1.广度优先遍历 2.深度优先遍历 先序遍历:把根放在最前面 中序遍历:把根放在中间 后序遍历:把根放在后面 # -*- coding: utf-8 -*- """ Cr ...
- python hash表_python数据结构与算法——哈希表
哈希表 学习笔记 参考翻译自:<复杂性思考> 及对应的online版本:http://greenteapress.com/complexity/html/thinkcomplexity00 ...
- python思想读后感_数据结构与算法:Python语言描述读后感1000字
<数据结构与算法:Python语言描述>是一本由裘宗燕著作,机械工业出版社出版的平装图书,本书定价:CNY 45.00,页数:343,特精心从网络上整理的一些读者的读后感,希望对大家能有帮 ...
- 数据结构与算法之循环队列的操作
数据结构与算法之循环队列的操作 /* 循环队列的入队和出队算法设计 初始化循环队列 .打印队列.插入元素到循环队列.获取循环队列的首元素,元素不出队.出队.获取循环队列元素个数.判断循环队列的空和满. ...
- 数据结构与算法-栈与队列
数据结构与算法-栈与队列 栈 基本概念 简单表述就是仅在表尾进行插入和删除操作的线性表. 常见操作 入栈和出栈, 均在线性表的尾部进行. 基本原则就是, 先入后出. 队列 基本概念 和栈不同的是,队列 ...
- python定义链表节点_Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】...
本文实例讲述了Python数据结构与算法之链表定义与用法.分享给大家供大家参考,具体如下: 本文将为大家讲解: (1)从链表节点的定义开始,以类的方式,面向对象的思想进行链表的设计 (2)链表类插入和 ...
- python中的列表是采用链式结构实现的_Python数据结构与算法之列表(链表,linked list)简单实现...
Python数据结构与算法之列表(链表,linked list)简单实现 Python 中的 list 并不是我们传统(计算机科学)意义上的列表,这也是其 append 操作会比 insert 操作效 ...
最新文章
- python编程实例下载-python网络编程之文件下载实例分析
- 关于“Xshell连接linux(deepin)时提示ssh服务器拒绝了密码,请再试一次”的问题...
- ARM的编程模式和7种模式
- java判断线程是否wait_Java并发编程之线程间通讯(上)wait/notify机制
- NVIDIA/Apex安装时遇到 C++编译:unrecognized command line option ‘-std=c++14’ 错误解决
- Dokcer使用总结(Dockerfile、Compose、Swarm)
- Linux下的 【pwd】 命令; 显示当前目录全路径。
- 阿里云服务器mysql莫名丢失_MySQL5.6 突然死掉 阿里云端的 服务器上搭建的
- 深圳Python培训:100天从新手到Python大师
- 电动汽车用内置式永磁同步电机基于查询表 的矢量控制算法, 自动生成满足 MTPA
- Atitit 木马病毒自动启动-------------win7计划任务的管理
- 通俗易懂|基于零信任理念的技术让远程办公「安全又敏捷」
- python将Word中表格复制到Excel中
- 补题:HOJ吉林selection B-Bribing Eve(Gym-101174B) (象限极角排序)
- cocos2dx[3.x](11)——拖尾渐隐效果MotionStreak
- perl学习(4) 子程序
- kata-container初探
- 风力发电系统的一些常见名词
- 微信小程序自定义导航栏(带汉堡包菜单)
- oracle 12 pan.baidu.com,Oracle 数据库和补丁下载地址和百度云盘地址 12.1.0.2 11.2.0.4 11.2.0.1...