题目

输入多名学生的姓名与成绩,按照成绩从高到低排序,依次分行输出学生姓名。

输入格式:共 3 行,每行包含学生姓名(字符串)与成绩(整数),以空格分隔。

输出格式:按成绩降序分行输出排序后的学生姓名。

数据范围与约定:学生人数为 3,成绩为 0~100 的整数。

思路与算法

1. 元组或字典存储
将记录存为 (score, name) 元组或对象列表。

2. 降序排序
使用 sorted(st, reverse=True) 或 key=lambda x: x[0] 快速按成绩降序排序列。

完整程序

st = []

# 读入 3 名学生的成绩与姓名
for _ in range(3):
    name, score = input().split()
    st.append((int(score), name))

# 按成绩降序输出学生姓名
for _, name in sorted(st, reverse=True):
    print(name)

运行示例

输入:

Amy 85
Bob 92
Cal 78

输出:

Bob
Amy
Cal