读入 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())
name=[]
studentid=[]
score=[]
for i in range(n):
inputdata=input().split(' ')
name.append(inputdata[0])
studentid.append(inputdata[1])
score.append(int(inputdata[2]))
maxscore=max(score)
minscore=min(score)
m=score.index(maxscore)
n=score.index(minscore)
print(name[m]+' '+studentid[m])
print(name[n]+' '+studentid[n])
知识点:
#按行读入数据,中间以空格分开
input_date=input().split(' ')
#在列表末尾添加新的对象
list.append(obj)
#返回列表元素最大值
max(list)
#返回列表元素最小值
min(list)
#从列表中找出某个值第一个匹配项的索引位置
list.index(obj)
输入成绩时,要将输入数据转化为整型int,否则比较成绩时比较的实际是字符串型。