高赞题解的详细注释版| #扑克牌大小#

扑克牌大小

https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb

# 借鉴了高赞题解,创建字典瞬间简单了很多
dic = {
    '3' : 1, '4' : 2, '5' : 3, '6' : 4, '7' : 5, '8': 6,
    '9' : 7, '10' : 8, 'J' : 9, 'Q' : 10, 'K' : 11, 'A' : 12,
    '2' : 13, 'joker' : 14, 'JOKER' : 15
}

# 判断是否为普通炸弹 (长为4且数相同)
def bomb(s):
    if len(s)==4 and len(set(s))==1:
        return True
    else:
        return False

while True:
    try:
        s1, s2 = input().split('-')
        ls1, ls2 = s1.split(), s2.split() # 4 4 4 4 -> [4, 4, 4, 4]
        L1, L2 = len(ls1), len(ls2)

        # 顺子、三个、对子、个子、普通炸弹的同类比较,比较第一个数即可(顺子已经从小到大排列)
        if L1 == L2:
            if dic[ls1[0]] > dic[ls2[0]]:
                print(s1)
            else:
                print(s2)
        
        else:
            # 如果有王炸,则输出王炸(不可能相等)
            if 'joker JOKER' in (s1, s2) : 
                    print('joker JOKER')

            # 如果s1为普通炸弹, s2不是
            elif bomb(ls1):
                print(s1)

            # 如果s2为普通炸弹, s1不是
            elif bomb(ls2):
                print(s2)

            # 无法比较
            else:
                print('ERROR')
    except:
        break

全部评论

相关推荐

kl_我是东山啊:《相关公司:阿里巴巴》
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
分享
01-18 09:26
已编辑
门头沟学院 Java
王桑的大offer:建议中间件那块写熟悉即可,写掌握 面试包被拷打到昏厥
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务