当前位置: 首页 > news >正文

南京中建乡旅建设投资有限公司网站模板网站制作时间

南京中建乡旅建设投资有限公司网站,模板网站制作时间,网站锚点,编辑网页用什么软件是Udacity课程的第一个项目。先从宏观把握一下思路#xff0c;目的是做一个比较德州扑克大小的问题首先#xff0c;先抽象出一个处理的函数#xff0c;它根据返回值的大小给出结果。之后我们在定义如何比较两个或者多个手牌的大小#xff0c;为方便比较大小#xff0c;我们…是Udacity课程的第一个项目。先从宏观把握一下思路目的是做一个比较德州扑克大小的问题首先先抽象出一个处理的函数它根据返回值的大小给出结果。之后我们在定义如何比较两个或者多个手牌的大小为方便比较大小我们先对5张牌进行预处理将其按照降序排序如下def card_ranks(hand):ranks [--23456789TJQKA.INDEX(r) for r, s in hand]ranks.sort(reverseTrue)return ranks然后我们可以枚举出一共有9种情况并用数字代表每一种情况的等级利用Python的比较功能将等级放在第一位如果等级相同那么再比较后面的。def hand_rank(hand):Return a value indicating the ranking of a hand.ranks card_ranks(hand)if straight(ranks) and flush(hand):return (8, max(ranks))elif kind(4, ranks):return (7, kind(4, ranks), kind(1, ranks))elif kind(3, ranks) and kind(2, ranks):return (6, kind(3, ranks), kind(2, ranks))elif flush(hand):return (5, ranks)elif straight(ranks):return (4, max(ranks))elif kind(3, ranks):return (3, kind(3, ranks), ranks)elif two_pair(ranks):return (2, two_pair(ranks), ranks)elif kind(2, ranks):return (1, kind(2, ranks), ranks)else:return (0, ranks)可以看到如果等级相同接下来比较的是每套牌中牌的大小了。同时我们需要三个函数代表同花顺子以及kind(n, ranks),代表ranks有n张牌的点数。这里的三个函数实现非常巧妙利用了set去重的特性。def straight(ranks):return (max(ranks) - min(ranks)) 4 and len(set(ranks)) 5def flush(hand):suit [s, for r, s in hand]return len(set(suit)) 1def kind(n, ranks):for s in ranks:if ranks.count(s) n : return sreturn None我们发现有一种情况是含有两个对于是需要一个函数来判断是否是这种情况这个函数中调用了kind()函数由于kind()函数满足短路特性只会返回先得到的满足情况的点数于是将其翻转后在调用一边kind,若得到的结果相同那么就只有一个对(或者没有)否则就有两个。def two_pairs(ranks):pair kind(2, ranks)lowpair kind(2, list(reverse(ranks)))if pair ! lowpair:return (pair, lowpair)else:return None好了整体的骨架算是搭完了接下来处理会产生bug的情况首先是A2345当排序时由于A被算作14所以针对这个问题需要单独列一个if处理A是最低def card_ranks(hand):ranks [--23456789TJQKA.INDEX(r) for r, s in hand]ranks.sort(reverseTrue)return [5, 4, 3, 2, 1] if (ranks [14, 5, 4, 3, 2] else ranks之后就是进一步的简化了思路挺好的def poker(hands):return allmax(hands, keyhand_ranks)def allmax(iterable, keyNone):result, maxval [], Noneket key or lambda(x): xfor x in iterable:xval key(x)if not result or xval maxval:result, maxval [x], xvalelif:result.append(x)return result大于就取代等于就加入小于不作处理import randommydeck [rs for r in 23456789TJKQA for s inSHDC]def deal(numhands, n5, deck [rs for r in 23456789TJKQA for s inSHDC]):random.shuffle(deck)return [deck[n*i:n*(i 1)] for i in range(numhands)]def hand_ranks(hand):groups group[--23456789TJQKA.index(r) for r, s in hand]counts, ranks unzip(groups)if rnaks (14, 5, 4, 3, 2, 1):ransk (5, 4, 3, 2, 1)straight len(ranks) 5 and max(ranks) - min(ranks) 4flush len(set([s for r, s in hand])) 1return(9 if (5,) count else8 if straight and flush else7 if (4, 1) counts else6 if (3, 2) counts else5 if flush else4 if straight else3 if (3, 1, 1) counts else2 if (5, 1, 1) counts else1 if (2, 1, 1, 1) counts else0), ranksdef group(items):groups [(items.count(x), x) for x in set(items)]return sorted(groups, reverse True)def unzips(pairs):return zip(*pairs)def hand_ranks(hand):groups group[--23456789TJQKA.index(r) for r, s in hand]counts, ranks unzip(groups)if rnaks (14, 5, 4, 3, 2, 1):ransk (5, 4, 3, 2, 1)straight len(ranks) 5 and max(ranks) - min(ranks) 4flush len(set([s for r, s in hand])) 1return max(count_ranks[counts], 4*straight 5 * flush), rankscount_rankings {(5,):10, (4, 1):7, (3,2):6, (3,1,1):3, (2,2,1):2,(2,1,1,1): 1,(1,1,1,1,1):0}总结下面对一个问题的思维步骤started:understand problems look at specification See if it make sensedefine the piece of problem reuse the piece you have test! explore最后是是的程序在各个方面达到均衡correctness elegance efficienct featrues总结以上就是本文关于Python实现比较扑克牌大小程序代码示例的全部内容希望对大家有所帮助。感兴趣的朋友可以继续参阅本站Python3简单实例计算同花的概率代码Python语言描述最大连续子序列和Python数据可视化正态分布简单分析及实现代码如有不足之处欢迎留言指出。感谢朋友们对本站的支持
http://www.sadfv.cn/news/217292/

相关文章:

  • 开发一个小网站多少钱政务服务网站建设技术因素
  • 免费建站广告营销案例分析
  • 精品课程网站建设总结报告电脑系统做的好的网站好
  • 网站图片怎么做的高级申请的网站怎么建设
  • 律师网站建设培训班建设科普网站的意义
  • 网站建设适应全屏如何自动吉安市建设技术培训中心网站
  • 策勒网站建设dw软件是做什么用的
  • 网站建设捌金手指下拉十六平顶山做网站多少钱
  • 龙岩做网站的公司临清做网站推广
  • 现在网站还用asp做人力招聘网站建设任务执行书
  • 做网站跟客人怎么沟通网站官网设计规范
  • 门户网站的营销特点wordpress不能发文章_只能在标题内写字
  • 智能手机网站模板手机网站 排版
  • 私人网站建设莱芜都市网房产
  • 网站开发流程分为哪3个阶段网站留言板作用
  • 物流网站开发系统论文单位怎样做网站
  • vscode的网站开发配置建设部证书查询官方网站
  • 海口网站建设策划方案南京公司网站
  • 广西网站建设推广大概需要多少钱做棋牌网站违法
  • 手机网站开发总结在哪里找专业推广团队
  • 龙口建网站价格重庆建设集团公司
  • 建设银行网站 查余额建设网站工作报告
  • 南京网站设计机构wordpress手机主题mip
  • 宜宾市网站建设微信分销网站建设
  • 国内专门做旅游攻略的网站网站地图怎么做XML
  • 绍兴网站制作青海省建设厅建管处网站
  • 做MAD生肉网站百度sem优化师
  • 搜狐快速建站什么专业是做网站
  • 青云谱网站建设昆明软件开发公司有哪些
  • 璧山网站建设网店推广有哪些方法