有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生的数据,要求打印出门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
时间: 2024-12-24 19:26:01 浏览: 0
在Python中,你可以使用列表和字典来存储每个学生的信息,然后通过循环遍历和计算来实现这个功能。以下是一个简单的示例:
```python
# 初始化空列表存放学生信息
students = []
# 循环读取并输入10个学生数据
for i in range(10):
student_info = {}
student_info['学号'] = i+1
student_info['姓名'] = input(f"请输入第{i+1}位学生的姓名:")
scores = [int(input(f"请输入第{i+1}位学生第{course}门课的成绩:")) for course in ['语文', '数学', '英语']]
student_info['成绩'] = scores
students.append(student_info)
# 计算每门课程的总平均成绩
average_scores = {course: sum(score_list) / len(students) for course, score_list in zip(['语文', '数学', '英语'], [student['成绩'][0] for student in students])}
# 找到最高分的学生
max_student = max(students, key=lambda x: x['成绩'][2])
print("门课的总平均成绩:")
for course, avg_score in average_scores.items():
print(f"{course}: {avg_score}")
print("\n最高分的学生信息:")
for k, v in max_student.items():
if k != '成绩':
print(f"{k}: {v}")
else:
print(f"成绩:{v[2]} (最高分)")
阅读全文