请输入5个学生的name及english,python和math3门课的成绩并存储到列表scores中,计算每位同学的平均成绩,同时在字典中添加关键字“avg”用来表示平时成绩。按照每个同学的平均成绩由高到低排序输出5个学生的相关信息
时间: 2024-10-14 09:08:14 浏览: 28
c代码-编程实现:输入10个学生的6门课成绩,分别求出每个学生的平均成绩。
5星 · 资源好评率100%
为了满足您的需求,我们可以创建一个列表 `scores` 来存储学生信息,然后计算每位学生的平均成绩并将结果存入另一个字典 `students_info` 中。接下来,我们将按平均成绩从高到低对学生信息进行排序并输出前5位。
```python
# 定义学生信息的数据结构
student_data = [
{"name": "张三", "english": 85, "python": 90, "math": 92},
{"name": "李四", "english": 90, "python": 87, "math": 88},
{"name": "王五", "english": 88, "python": 92, "math": 86},
{"name": "赵六", "english": 92, "python": 95, "math": 89},
{"name": "孙七", "english": 87, "python": 90, "math": 91}
]
# 计算平均成绩并更新字典
students_info = []
for student in student_data:
avg_score = (student["english"] + student["python"] + student["math"]) / 3
student["avg"] = avg_score
students_info.append(student)
# 按照平均成绩排序
sorted_students_info = sorted(students_info, key=lambda x: x["avg"], reverse=True)
# 输出前5名学生的详细信息
print("前5名学生按照平均成绩排序:")
for i in range(5):
print(f"{i+1}. {sorted_students_info[i]['name']} - 平均成绩: {sorted_students_info[i]['avg']}")
阅读全文