python均分纸牌_Python实现比较扑克牌大小程序代码示例

是Udacity课程的第一个项目。

先从宏观把握一下思路,目的是做一个比较德州扑克大小的问题

首先,先抽象出一个处理的函数,它根据返回值的大小给出结果。

之后我们在定义如何比较两个或者多个手牌的大小,为方便比较大小,我们先对5张牌进行预处理,将其按照降序排序,如下:

def card_ranks(hand):

ranks = ['--23456789TJQKA'.INDEX(r) for r, s in hand]

ranks.sort(reverse=True)

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 st

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值