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


