题目
输入多名学生的姓名与成绩,按照成绩从高到低排序,依次分行输出学生姓名。
输入格式:共 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