用python编写对某班学生成绩排序。从键盘依次输入某班学生的姓名和 成绩(-个班级人数最多不超过50人)并保存,然后分 别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相 同时,则按输入次序排序。
时间: 2023-12-16 16:06:00 浏览: 45
好的,这是一个比较基础的排序问题,可以使用Python内置函数sorted()实现。以下是代码实现:
```python
n = int(input("请输入学生人数: ")) # 输入学生人数
data = {} # 用字典存储学生姓名和成绩
for i in range(n):
name = input("请输入第%d个学生的姓名: " % (i+1))
score = int(input("请输入第%d个学生的成绩: " % (i+1)))
data[name] = score
sorted_data = sorted(data.items(), key=lambda x: (-x[1], x[0])) # 按成绩从高到低排序,成绩相同时按姓名从小到大排序
print("成绩排序结果:")
for item in sorted_data:
print("%s: %d" % (item[0], item[1]))
```
运行代码,输入学生姓名和成绩,即可输出按成绩排序的结果。
注意,代码中使用了lambda表达式作为sorted()函数的key参数,这是为了按照成绩从高到低排序。如果不熟悉lambda表达式的用法,可以先了解一下Python中的匿名函数。