题目描述
实现代码
# 比赛次数
number = int(input())
# 输入甲乙
jia, yi = [], []
for i in range(number):
str = input()
jia.append(str[0])
yi.append(str[-1])
# 三种情况,甲赢乙输、乙赢甲输和平手
win_jia, win_yi , equal = 0, 0, 0
# 统计每个手势赢的次数
j = {'B': 0,'C': 0,'J': 0}
y = {'B': 0,'C': 0,'J': 0}
# 判断输赢
def game(a,b):
if a == 'C' and b == 'J':
return True
elif a =='J' and b == 'B':
return True
elif a == 'B' and b =='C':
return True
elif a == b:
return 'OK'
else:
return False
# 统计赢的具体情况
def sheng(a,b):
if a == 'B':
b['B'] += 1
elif a == 'C':
b['C'] += 1
else:
b['J'] += 1
for i in range(number):
if game(jia[i], yi[i]) == True:
win_jia += 1
sheng(jia[i], j)
elif game(jia[i],yi[i]) == 'OK':
equal += 1
else:
win_yi += 1
sheng(yi[i], y)
j_order = sorted(j.items(), key=lambda x: x[1], reverse=True)
y_order = sorted(y.items(), key=lambda x: x[1], reverse=True)
print("{} {} {}".format(win_jia, equal, win_yi))
print("{} {} {}".format(win_yi, equal, win_jia))
print(j_order[0][0], y_order[0][0])
知识点
字典的排序也可以借助lambda表达式实现
sorted(可迭代对象,key=函数名,reverse=False/True)