题解 | #扑克牌大小#

扑克牌大小

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

a, b = input().strip().split('-')

poker_map = {
    '2': 15, '3': 3, '4': 4, '5': 5, 
    '6': 6, '7': 7, '8': 8, '9': 9, '10': 10,
    'J': 11, 'Q': 12, 'K': 13, 'A': 14,
    'joker': 15, 'JOKER': 16
}

# type
# 1 -- 1,2,3,5
# 4 -- 4
def get_type(s):
    if len(s) in [1, 3, 5]:
        return 1
    if len(s) == 2:
        return 1 if 'joker' not in s else 4
    return 4

def compare(a, b):
    sa, sb = a.split(' '), b.split(' ')
    if not isinstance(sa, list):
        sa = [sa]
    if not isinstance(sb, list):
        sb = [sb]
    ta, tb = get_type(sa), get_type(sb)
    if ta == 4:
        if tb != 4: return a 
        if 'joker' in a: return a 
        if 'joker' in b: return b 
        return a if poker_map[sa[0]] > poker_map[sb[0]] else b
    
    if ta == 1:
        if tb == 4: return b
        if len(sa) != len(sb): return "ERROR"
        return a if poker_map[sa[0]] > poker_map[sb[0]] else b

print(compare(a, b))

全部评论

相关推荐

无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
10-11 17:30
湖南大学 C++
我已成为0offer的糕手:羡慕
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务