No.2判断扑克牌是不是顺子

从一副扑克中随机抽出5张牌,2-10代表相应数字,A代表1,J Q K代表11,12,13,大小王代表任何数字,写一个函数判断这5张牌是否是顺子

exits = ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'J', 'Q', 'K', 'S', 'P'],S、P代表大王小王
ipt = '23Q45'
ipt1 = '31S45'
ipt2 = '13456'


def is_arithmetic_progression(prog):
    _len = len(prog)
    for i in range(0, _len - 2):
        if prog[i + 1] - prog[i] != prog[i + 2] - prog[i + 1]:
            return False
    return True


def check_str(ipt_str):
    sp1 = {'J': '10', 'A': '1', 'Q': '11', 'K': '12', 'S': '0', 'P': '0'}
    trs = list()
    for cr in ipt_str:
        if cr in sp1.keys():
            trs.append(int(sp1[cr]))
        else:
            trs.append(int(cr))
    if 0 in trs:
        trs.remove(0)
    trs.sort()
    result = is_arithmetic_progression(trs)
    if result:
        print('你的牌是顺子')
    else:
        print('你的牌不是顺子')


check_str(ipt1)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值