给定一个班级学生中每个学生的姓名和成绩,将它们存储在嵌套列表中,并打印成绩第二低的所有学生的姓名·注意:如果有多个学生的成绩第二低,请按字母顺序排列他们的姓名,并将每个姓名打印在新的一行上。 输入格式: 第一行包含一个整数N,即学生人数。 随后的2N 行描述了以上N 个学生。 - 第一行包含学生的姓名。 第二行包含他们的成绩。 输出格式: 打印成绩第二低的所有学生的姓名。如果有多个学生,请按字母顺序排列他们的姓名并将每个学生的名字打印在新行上。
时间: 2023-03-30 07:01:40 浏览: 113
我可以回答这个问题。首先,我们可以将每个学生的姓名和成绩存储在一个嵌套列表中。然后,我们可以使用Python的sorted函数来按照成绩对学生进行排序。接下来,我们可以找到成绩第二低的学生,并将他们的姓名打印出来。如果有多个学生的成绩第二低,请按字母顺序排列他们的姓名,并将每个姓名打印在新的一行上。
以下是Python代码实现:
n = int(input())
students = []
for i in range(n):
name = input()
score = float(input())
students.append([name, score])
# 按照成绩排序
sorted_students = sorted(students, key=lambda x: x[1])
# 找到成绩第二低的学生
second_lowest_score = sorted_students[1][1]
second_lowest_students = []
for student in sorted_students:
if student[1] == second_lowest_score:
second_lowest_students.append(student[])
# 按照字母顺序排列姓名并打印
for name in sorted(second_lowest_students):
print(name)