python任意输入10个学生的名字和成绩构成字典,按照成绩从高到低排序
时间: 2023-06-12 10:03:38 浏览: 1896
可以使用Python内置的sorted函数来完成排序,同时使用lambda表达式来指定排序的key为成绩。以下是示例代码:
```python
# 输入学生信息
students = {}
for i in range(10):
name = input("请输入第{}个学生的姓名:".format(i+1))
score = float(input("请输入第{}个学生的成绩:".format(i+1)))
students[name] = score
# 按照成绩从高到低排序
sorted_students = sorted(students.items(), key=lambda x: x[1], reverse=True)
# 打印排序结果
print("按成绩从高到低排序结果:")
for i, student in enumerate(sorted_students):
print("{:<2} 姓名:{:<10} 成绩:{}".format(i+1, student[0], student[1]))
```
示例输出:
```
请输入第1个学生的姓名:张三
请输入第1个学生的成绩:89.5
请输入第2个学生的姓名:李四
请输入第2个学生的成绩:92.0
请输入第3个学生的姓名:王五
请输入第3个学生的成绩:86.5
请输入第4个学生的姓名:赵六
请输入第4个学生的成绩:95.5
请输入第5个学生的姓名:孙七
请输入第5个学生的成绩:88.0
请输入第6个学生的姓名:周八
请输入第6个学生的成绩:90.5
请输入第7个学生的姓名:吴九
请输入第7个学生的成绩:87.5
请输入第8个学生的姓名:郑十
请输入第8个学生的成绩:94.0
请输入第9个学生的姓名:钱十一
请输入第9个学生的成绩:91.5
请输入第10个学生的姓名:陈十二
请输入第10个学生的成绩:88.5
按成绩从高到低排序结果:
1 姓名:赵六 成绩:95.5
2 姓名:郑十 成绩:94.0
3 姓名:李四 成绩:92.0
4 姓名:钱十一 成绩:91.5
5 姓名:周八 成绩:90.5
6 姓名:张三 成绩:89.5
7 姓名:孙七 成绩:88.0
8 姓名:陈十二 成绩:88.5
9 姓名:吴九 成绩:87.5
10 姓名:王五 成绩:86.5
```
阅读全文