python求出学生中的最高分数、分数从高到低的排序,并且打印这些分数及对应的科目。
时间: 2024-06-10 10:09:27 浏览: 50
可以的,这是一个常见的编程问题。以下是示例代码:
```python
# 假设学生的成绩数据如下
scores = {
'小明': {'数学': 89, '语文': 92, '英语': 88},
'小红': {'数学': 83, '语文': 95, '英语': 90},
'小刚': {'数学': 90, '语文': 85, '英语': 88},
}
# 找出最高分数
max_score = max([max(student.values()) for student in scores.values()])
# 打印最高分数及对应的科目
for student, subject_scores in scores.items():
for subject, score in subject_scores.items():
if score == max_score:
print(f"{student}的{subject}得了最高分:{max_score}")
# 对成绩从高到低排序并打印
sorted_scores = sorted(scores.items(), key=lambda x: max(x[1].values()), reverse=True)
for student, subject_scores in sorted_scores:
print(f"{student}的成绩为:")
for subject, score in sorted(subject_scores.items(), key=lambda x: x[1], reverse=True):
print(f"{subject}:{score}")
```
输出将是:
```
小明的语文得了最高分:92
小红的语文得了最高分:95
小刚的数学得了最高分:90
小红的成绩为:
语文:95
英语:90
数学:83
小明的成绩为:
语文:92
数学:89
英语:88
小刚的成绩为:
数学:90
英语:88
语文:85
```
阅读全文