题解 | #扑克牌大小#
扑克牌大小
https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb
# 创建牌面-数值字典 cards = ["3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "joker", "JOKER"] nums = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] transfer = dict(zip(cards, nums)) # 题目已知两手牌不会相等, 且必定是单牌/对子/顺子/三个/炸弹/王炸中的一个, 顺子已经从小到大排好序 # 比较时除了炸弹, 必须同类型才能比较, 故炸弹比较特殊, 单独考虑 s1, s2 = input().split("-") ss1, ss2 = s1.split(), s2.split() # 如果存在王炸, 不用考虑王炸最大 if s1 == "joker JOKER" or s2 == "joker JOKER": print("joker JOKER") # 存在两个炸弹 elif len(ss1) == len(ss2) == 4: if transfer[ss1[0]] > transfer[ss2[0]]: print(s1) else: print(s2) # 第一手牌为炸弹 elif len(ss1) == 4: print(s1) # 第二手牌为炸弹 elif len(ss2) == 4: print(s2) # 不存在炸弹 else: # 不同同类型 if len(ss1) != len(ss2): print("ERROR") # 同类型 elif transfer[ss1[0]] > transfer[ss2[0]]: print(s1) else: print(s2)