用python采用字典的方式,完成一个班级同学(5个人以上)的课程(5门课以上)成绩的存储工作,并能按照姓名,学号,各科成绩进行从大到小或者从小到大的排序输出姓名
时间: 2024-05-15 14:17:16 浏览: 174
好的,我可以回答这个问题。以下是一个简单的 Python 代码示例,它使用字典来存储班级同学的成绩,并可以按照指定的方式排序输出:
```python
# 定义班级同学成绩的字典
scores = {
'张三': {'学号': '001', '语文': 90, '数学': 85, '英语': 92, '物理': 80},
'李四': {'学号': '002', '语文': 88, '数学': 91, '英语': 87, '物理': 85},
'王五': {'学号': '003', '语文': 92, '数学': 92, '英语': 90, '物理': 88},
'赵六': {'学号': '004', '语文': 85, '数学': 89, '英语': 86, '物理': 91},
'钱七': {'学号': '005', '语文': 89, '数学': 88, '英语': 93, '物理': 89},
}
# 按照姓名排序输出
print('按照姓名排序:')
for name in sorted(scores.keys()):
print(name, scores[name])
# 按照学号排序输出
print('按照学号排序:')
for name in sorted(scores.keys(), key=lambda x: scores[x]['学号']):
print(name, scores[name])
# 按照语文成绩从大到小排序输出
print('按照语文成绩从大到小排序:')
for name in sorted(scores.keys(), key=lambda x: scores[x]['语文'], reverse=True):
print(name, scores[name]['语文'])
# 按照数学成绩从小到大排序输出
print('按照数学成绩从小到大排序:')
for name in sorted(scores.keys(), key=lambda x: scores[x]['数学']):
print(name, scores[name]['数学'])
```
这个代码示例中,我们先定义了一个班级同学成绩的字典,然后可以按照姓名、学号、各科成绩等方式进行排序输出。排序时使用了 Python 内置的 `sorted()` 函数,并使用了 `key` 参数来指定按照哪个键进行排序,同时也可以指定降序排列。
阅读全文