有十个学生,每个学生的数据包括学号姓名三门课的成绩。读入这十个学生的数据,要求输出三门课程的总平均成绩,以及个人平均分最高的学生的数据
时间: 2023-12-15 16:26:30 浏览: 161
好的,针对您的问题,以下是代码实现:
```python
# 读入十个学生的数据
students = []
for i in range(10):
student = {}
student['学号'] = input('请输入学号:')
student['姓名'] = input('请输入姓名:')
student['成绩1'] = float(input('请输入第一门课程成绩:'))
student['成绩2'] = float(input('请输入第二门课程成绩:'))
student['成绩3'] = float(input('请输入第三门课程成绩:'))
students.append(student)
# 计算三门课程的总平均成绩
average_scores = {'成绩1': 0, '成绩2': 0, '成绩3': 0}
for student in students:
average_scores['成绩1'] += student['成绩1']
average_scores['成绩2'] += student['成绩2']
average_scores['成绩3'] += student['成绩3']
average_scores['成绩1'] /= 10
average_scores['成绩2'] /= 10
average_scores['成绩3'] /= 10
print('三门课程的总平均成绩分别为:成绩1:{:.2f},成绩2:{:.2f},成绩3:{:.2f}'.format(average_scores['成绩1'], average_scores['成绩2'], average_scores['成绩3']))
# 找出个人平均分最高的学生的数据
max_average_score = 0
max_average_score_student = {}
for student in students:
average_score = (student['成绩1'] + student['成绩2'] + student['成绩3']) / 3
if average_score > max_average_score:
max_average_score = average_score
max_average_score_student = student
print('个人平均分最高的学生的数据为:学号:{},姓名:{},成绩1:{:.2f},成绩2:{:.2f},成绩3:{:.2f}'.format(max_average_score_student['学号'], max_average_score_student['姓名'], max_average_score_student['成绩1'], max_average_score_student['成绩2'], max_average_score_student['成绩3']))
```
注意,这里使用了一个字典来存储每个学生的数据,其中键为学号、姓名、成绩1、成绩2、成绩3。同时,为了方便计算平均分,我们使用了一个字典来存储三门课程的总成绩,最后再除以10得到平均分。而对于找出个人平均分最高的学生的数据,则需要遍历所有学生,计算每个学生的平均分,并与当前最高平均分进行比较,找出最高分对应的学生即可。
阅读全文
相关推荐


















