Python3 扑克牌大小

扑克牌大小

http://www.nowcoder.com/questionTerminal/d290db02bacc4c40965ac31d16b1c3eb

while True:
    try:
        s1, s2 = input().split('-')
        a, b = s1.split(), s2.split()
        n1, n2 = len(a), len(b)
        d = {'3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9, '10':10, 'J':11, 'Q':12, 'K':13, 'A':14, '2':15, 'joker':16, 'JOKER':17}
        if s1 == 'joker JOKER' or s2 == 'joker JOKER': # 对王最大
            print('joker JOKER')
            break
        if n1 == n2:
            if d[a[0]] > d[b[0]]: # 相同类型的比较牌面大小
                print(s1)
            else:
                print(s2)
        else: # 炸弹和其他类型相比:输出炸弹
            if n1 == 4:
                print(s1)
            elif n2 == 4:
                print(s2)
            else: # 除了炸弹和对王,长度不同不存在比较关系
                print('ERROR')
    except:
        break
全部评论
通过n1 == n2去判断是否同类型,应该有漏洞吧, 比如4 4 4 4-5 6 7 8
点赞 回复 分享
发布于 2020-11-23 15:27
有10的情况下len要减一。加上这步就能百分百了
点赞 回复 分享
发布于 2020-12-22 17:36
谢谢大佬分享
点赞 回复 分享
发布于 2020-12-22 17:37
n1==n2那里应该用elif,不然题目例子就不对了
点赞 回复 分享
发布于 2021-05-21 11:36
万一 'joker JOKER' 倒过来呢
点赞 回复 分享
发布于 2021-06-24 18:38
这个顺子比较最小牌大小就很怪,23456比34567大吗
点赞 回复 分享
发布于 2021-10-22 23:17

相关推荐

拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
13 1 评论
分享
牛客网
牛客企业服务