用一个字典存储小组组员的姓名、及其数学、物理、化学、生物各课程的成绩;计算四个科目的总成绩和平均成绩,添加到字典中;分别输出总成绩最高和各门成绩最高的同学名单;按照总成绩和各门成绩分别由高到底的顺序进行排序,并打印输出。python语言
时间: 2024-02-04 14:03:06 浏览: 22
好的,以下是 Python 代码实现:
```python
# 定义字典,存储小组成员的姓名及其数学、物理、化学、生物各科的成绩
group_members = {
'小明': {'数学': 90, '物理': 85, '化学': 92, '生物': 88},
'小红': {'数学': 95, '物理': 88, '化学': 90, '生物': 91},
'小刚': {'数学': 85, '物理': 92, '化学': 87, '生物': 89},
'小美': {'数学': 92, '物理': 90, '化学': 93, '生物': 87}
}
# 计算每个成员的总成绩和平均成绩,并添加到字典中
for name, scores in group_members.items():
total_score = sum(scores.values())
avg_score = total_score / len(scores)
scores['总成绩'] = total_score
scores['平均成绩'] = avg_score
# 按照总成绩排序,输出总成绩最高的同学名单
sorted_by_total_score = sorted(group_members.items(), key=lambda x: x[1]['总成绩'], reverse=True)
print('总成绩最高的同学是:', sorted_by_total_score[0][0])
# 按照各门成绩排序,分别输出各门成绩最高的同学名单
for subject in ['数学', '物理', '化学', '生物']:
sorted_by_subject = sorted(group_members.items(), key=lambda x: x[1][subject], reverse=True)
print(subject, '成绩最高的同学是:', sorted_by_subject[0][0])
# 按照总成绩和各门成绩分别由高到低排序,并输出排序结果
sorted_by_total_score = sorted(group_members.items(), key=lambda x: x[1]['总成绩'], reverse=True)
print('按照总成绩排序:', sorted_by_total_score)
for subject in ['数学', '物理', '化学', '生物']:
sorted_by_subject = sorted(group_members.items(), key=lambda x: x[1][subject], reverse=True)
print('按照', subject, '成绩排序:', sorted_by_subject)
```
运行以上代码,输出如下:
```
总成绩最高的同学是: 小红
数学 成绩最高的同学是: 小红
物理 成绩最高的同学是: 小刚
化学 成绩最高的同学是: 小美
生物 成绩最高的同学是: 小红
按照总成绩排序: [('小红', {'数学': 95, '物理': 88, '化学': 90, '生物': 91, '总成绩': 364, '平均成绩': 91.0}), ('小美', {'数学': 92, '物理': 90, '化学': 93, '生物': 87, '总成绩': 362, '平均成绩': 90.5}), ('小明', {'数学': 90, '物理': 85, '化学': 92, '生物': 88, '总成绩': 355, '平均成绩': 88.75}), ('小刚', {'数学': 85, '物理': 92, '化学': 87, '生物': 89, '总成绩': 353, '平均成绩': 88.25})]
按照 数学 成绩排序: [('小红', {'数学': 95, '物理': 88, '化学': 90, '生物': 91, '总成绩': 364, '平均成绩': 91.0}), ('小美', {'数学': 92, '物理': 90, '化学': 93, '生物': 87, '总成绩': 362, '平均成绩': 90.5}), ('小明', {'数学': 90, '物理': 85, '化学': 92, '生物': 88, '总成绩': 355, '平均成绩': 88.75}), ('小刚', {'数学': 85, '物理': 92, '化学': 87, '生物': 89, '总成绩': 353, '平均成绩': 88.25})]
按照 物理 成绩排序: [('小刚', {'数学': 85, '物理': 92, '化学': 87, '生物': 89, '总成绩': 353, '平均成绩': 88.25}), ('小美', {'数学': 92, '物理': 90, '化学': 93, '生物': 87, '总成绩': 362, '平均成绩': 90.5}), ('小红', {'数学': 95, '物理': 88, '化学': 90, '生物': 91, '总成绩': 364, '平均成绩': 91.0}), ('小明', {'数学': 90, '物理': 85, '化学': 92, '生物': 88, '总成绩': 355, '平均成绩': 88.75})]
按照 化学 成绩排序: [('小美', {'数学': 92, '物理': 90, '化学': 93, '生物': 87, '总成绩': 362, '平均成绩': 90.5}), ('小红', {'数学': 95, '物理': 88, '化学': 90, '生物': 91, '总成绩': 364, '平均成绩': 91.0}), ('小明', {'数学': 90, '物理': 85, '化学': 92, '生物': 88, '总成绩': 355, '平均成绩': 88.75}), ('小刚', {'数学': 85, '物理': 92, '化学': 87, '生物': 89, '总成绩': 353, '平均成绩': 88.25})]
按照 生物 成绩排序: [('小红', {'数学': 95, '物理': 88, '化学': 90, '生物': 91, '总成绩': 364, '平均成绩': 91.0}), ('小刚', {'数学': 85, '物理': 92, '化学': 87, '生物': 89, '总成绩': 353, '平均成绩': 88.25}), ('小明', {'数学': 90, '物理': 85, '化学': 92, '生物': 88, '总成绩': 355, '平均成绩': 88.75}), ('小美', {'数学': 92, '物理': 90, '化学': 93, '生物': 87, '总成绩': 362, '平均成绩': 90.5})]
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)