用python采用字典的方式,完成一个班级同学(5个人以上)的课程(5门课以上)成绩的存储工作,并能按照姓名,学号,各科成绩进行从大到小或者从小到大的排序输出。
时间: 2024-05-07 17:16:18 浏览: 35
好的,这个问题很棒!可以用Python中的字典和列表来存储和排序成绩,以下是一个可能的示例代码:
```
# 定义班级成绩数据
class_scores = {
"Tom": {"id": 1001, "math": 78, "english": 85, "history": 92, "chemistry": 88},
"Jerry": {"id": 1002, "math": 92, "english": 91, "history": 84, "chemistry": 87},
"Alice": {"id": 1003, "math": 75, "english": 79, "history": 68, "chemistry": 82},
"Bob": {"id": 1004, "math": 85, "english": 90, "history": 89, "chemistry": 92},
"Tina": {"id": 1005, "math": 80, "english": 88, "history": 78, "chemistry": 86},
}
# 按成绩从小到大排序
def sort_scores_asc(scores):
sorted_scores = sorted(scores.items(), key=lambda x: sum(x[1].values()))
return sorted_scores
# 按成绩从大到小排序
def sort_scores_desc(scores):
sorted_scores = sorted(scores.items(), key=lambda x: sum(x[1].values()), reverse=True)
return sorted_scores
# 输出结果
print("按成绩从小到大排序:")
print(sort_scores_asc(class_scores))
print("按成绩从大到小排序:")
print(sort_scores_desc(class_scores))
```
你可以根据这个代码进行修改,根据你的具体需求调整字段名称和成绩数目。
阅读全文