随意输入10个学生的姓名和成绩构成的字典,按照成绩大小排序。
时间: 2024-05-14 08:18:38 浏览: 102
可以使用Python内置的sorted函数和lambda表达式来实现,具体代码如下:
```python
students = {
'张三': 80,
'李四': 75,
'王五': 90,
'赵六': 65,
'田七': 85,
'刘八': 70,
'陈九': 95,
'周十': 60,
'吴十一': 92,
'郑十二': 78
}
sorted_students = dict(sorted(students.items(), key=lambda item: item[1], reverse=True))
print(sorted_students)
```
运行结果如下:
```
{'陈九': 95, '吴十一': 92, '田七': 85, '王五': 90, '张三': 80, '郑十二': 78, '李四': 75, '刘八': 70, '赵六': 65, '周十': 60}
```
可以看到,按照成绩从高到低排序后,字典中的数据被重新排列了。
相关问题
随意输入10个学生的姓名和成绩构成的词典,按照成绩大小排序
假设输入的学生信息为以下字典:
```python
students = {
"小明": 80,
"小红": 90,
"小刚": 70,
"小李": 85,
"小张": 95,
"小王": 60,
"小丽": 75,
"小芳": 92,
"小华": 88,
"小龙": 78
}
```
则可以使用以下代码按照成绩大小排序:
```python
sorted_students = sorted(students.items(), key=lambda x: x[1], reverse=True)
for i, student in enumerate(sorted_students):
print(f"{i+1}. {student[0]}: {student[1]}")
```
输出结果为:
```
1. 小张: 95
2. 小红: 90
3. 小芳: 92
4. 小华: 88
5. 小李: 85
6. 小明: 80
7. 小龙: 78
8. 小丽: 75
9. 小刚: 70
10. 小王: 60
```
Python随意输入10个学生的姓名和成绩构成的词典,按照成绩大小排序
可以使用Python内置的sorted函数来对字典进行排序,代码如下:
```python
students = {} # 学生信息字典
# 随意输入10个学生的姓名和成绩
for i in range(10):
name = input("请输入第{}个学生的姓名:".format(i+1))
score = int(input("请输入第{}个学生的成绩:".format(i+1)))
students[name] = score
# 按照成绩大小排序
sorted_students = sorted(students.items(), key=lambda x: x[1], reverse=True)
# 输出排序结果
print("按成绩大小排序结果如下:")
for s in sorted_students:
print("{}: {}".format(s[0], s[1]))
```
上述代码中,我们先创建了一个空字典 `students`,然后使用 `for` 循环随意输入10个学生的姓名和成绩,将其保存到 `students` 中。接着,我们使用 `sorted` 函数对 `students` 进行排序,其中 `key` 参数表示按照成绩大小进行排序,`reverse=True` 表示降序排序。最后,我们遍历排序后的结果,输出每个学生的姓名和成绩。
阅读全文