有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程各自的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)
时间: 2023-06-15 18:03:43 浏览: 131
好的,我可以帮您写一个 Python 程序来实现这个功能。您可以参考下面的代码:
```python
students = []
for i in range(10):
stu_id = input("请输入第{}个学生的学号: ".format(i+1))
name = input("请输入第{}个学生的姓名: ".format(i+1))
score1 = float(input("请输入第{}个学生的第一门成绩: ".format(i+1)))
score2 = float(input("请输入第{}个学生的第二门成绩: ".format(i+1)))
score3 = float(input("请输入第{}个学生的第三门成绩: ".format(i+1)))
students.append({"学号": stu_id, "姓名": name, "成绩": [score1, score2, score3]})
# 计算每门课程的总平均成绩
score_sum = [0, 0, 0]
for stu in students:
score_sum[0] += stu["成绩"][0]
score_sum[1] += stu["成绩"][1]
score_sum[2] += stu["成绩"][2]
score_avg = [round(score_sum[i]/10, 2) for i in range(3)]
print("第一门课程的总平均成绩为:", score_avg[0])
print("第二门课程的总平均成绩为:", score_avg[1])
print("第三门课程的总平均成绩为:", score_avg[2])
# 找出最高分的学生
max_score = 0
max_stu = {}
for stu in students:
avg_score = sum(stu["成绩"]) / 3
if avg_score > max_score:
max_score = avg_score
max_stu = stu
print("最高分的学生为:")
print("学号:", max_stu["学号"])
print("姓名:", max_stu["姓名"])
print("成绩:", max_stu["成绩"])
print("平均分数:", round(max_score, 2))
```
程序会先让您输入每个学生的学号、姓名和3门课程的成绩,然后计算每门课程的总平均成绩,并找出最高分的学生。最后输出结果。
阅读全文