PAT 1004成绩排名(Python实现)

读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

输入格式:

每个测试输入包含 1 个测试用例,格式为

第 1 行:正整数 n

第 2 行:第 1 个学生的姓名 学号 成绩

第 3 行:第 2 个学生的姓名 学号 成绩

  ... ... ...

第 n+1 行:第 n 个学生的姓名 学号 成绩

其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。

输出格式:

对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。

输入样例:

3

Joe Math990112 89

Mike CS991301 100

Mary EE990830 95

输出样例:

Mike CS991301

Joe Math990112

代码实现如下:

n = int(input())
XX = []
CJ = {}
for i in range(n):
    XX.append(input().split(' '))
for j in range(n):
    CJ[int(XX[j][2])] = j
max = XX[CJ[max(CJ)]]
min = XX[CJ[min(CJ)]]
print('{} {}'.format(max[0], max[1]))
print('{} {}'.format(min[0], min[1]))

本人认为这个代码还算是比较容易理解的,如果有什么建议或者问题欢迎在评论区留言


版权声明:本文为qq_63043783原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。