python中根据给出的四名学生的3门课成绩信息,编写函数计算每个学生的平均分,返回平均分最高的和最低的两位学生的姓名。请将学生成绩用字典保存。
时间: 2024-03-17 18:42:59 浏览: 68
好的,以下是示例代码:
```python
def find_extreme_students(scores):
"""
计算学生的平均分,返回平均分最高和最低的两位学生的姓名。
:param scores: 学生成绩字典,格式为{'学生1': [成绩1, 成绩2, 成绩3], '学生2': [成绩1, 成绩2, 成绩3], ...}
:return: 返回元组,第一个元素为平均分最高的学生姓名,第二个元素为平均分最低的学生姓名
"""
avg_scores = {} # 存储每个学生的平均分
for name, score_list in scores.items():
avg_score = sum(score_list) / len(score_list)
avg_scores[name] = avg_score
# 找出平均分最高和最低的两位学生
sorted_scores = sorted(avg_scores.items(), key=lambda x: x[1])
return sorted_scores[-1][0], sorted_scores[0][0]
```
使用示例:
```python
scores = {
'张三': [90, 80, 70],
'李四': [85, 90, 95],
'王五': [60, 70, 80],
'赵六': [75, 85, 95]
}
highest, lowest = find_extreme_students(scores)
print('平均分最高的学生是:', highest)
print('平均分最低的学生是:', lowest)
```
输出结果:
```
平均分最高的学生是: 李四
平均分最低的学生是: 王五
```
阅读全文