高赞题解的详细注释版| #扑克牌大小#
扑克牌大小
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