【发布时间】:2021-07-13 15:49:07
【问题描述】:
给定一个有 N 个学生的班级中每个学生的姓名和成绩, 将它们存储在嵌套列表中并打印任何学生的姓名 成绩倒数第二。
注意:如果有多个学生成绩倒数第二, 按字母顺序排列他们的名字并将每个名字打印在一个新行上。
例子
reords = [['chi', 20.0], ['bela', 50.0], ['alpha', 50.0]]
分数的有序列表是[20.0, 50.0],所以分数倒数第二 是 50.0 有两个学生的分数是:['beta', 'alpha'] 。 按字母顺序排列,名称打印为:
输入格式:
第一行包含一个整数 N,即学生人数。 2N 随后的几行用两行来描述每个学生。
- 第一行包含一个学生的姓名。
- 第二行包含他们的成绩。
输出格式
打印成绩第二低的任何学生的姓名。 如果有多名学生,按姓名字母顺序排列 将每一个打印在新行上。
输入示例:示例输入 0
5
Harry
37.21
Berry
37.21
Tina
37.2
Akriti
41
Harsh
39
样本输出 0
Berry
Harry
这是我的提议代码:
if __name__ == '__main__':
student = []
values = []
names =[]
for _ in range(int(input())):
name = input()
score = float(input())
student.append([name, score])
for item in student:
values.append(item[1])
values.sort()
for item in student:
if item[1] == values[1]:
names.append(item[0])
names.sort()
for name in names:
print(name)
当我在 jupiter Notebook 上运行代码时,我有相同的简历。但是当我在测试的编辑器中运行相同的代码时,我有一个错误。我不明白 enter image description here
【问题讨论】:
-
我很确定这里已经提出了一个非常相似的问题
-
错误是说您的代码无法使用某些输入。使用屏幕截图中的完整输入对其进行测试,看看会发生什么。
-
我不知道,但我想对这个问题有更多的解释。请看图片看看我想说什么
-
谢谢,彼得。让我看看再跑
标签: python