用python来解PAT乙级1047编程团体赛-20-满分

这题挺简单的,看到题目知道要求队伍的总分再输出最大的队伍和总分

看看输入格式就能知道,输入先取编号和成绩,然后编号直接由‘-’得到团队编号,然后直接数据进行处理

最后列表中取到最大的值,就ok

代码:

n = int(input())#参赛人数
teams = []#队伍列表
grades = []#队伍总分数

for i in range(n):
   nos, grade = input().split()#编号,成绩
   grade = int(grade)
   teamno = nos.split('-')[0]#队伍编号
   if teamno not in teams:#不在列表中就创建
      teams.append(teamno)
      grades.append(grade)
   else:
      grades[teams.index(teamno)] += grade#在列表中直接加上分数
print(teams[grades.index(max(grades))]+' '+str(max(grades)))

提交结果: