有十个学生,每个学生的数据包括学号,姓名,3门课程的成绩,从键盘输入10个学生数据,要求输入3门课程总平均成绩,以及最高分学生的数据(包括学号,姓名,三门课的成绩,平均成绩)。
时间: 2023-12-15 08:30:38 浏览: 104
好的,我可以帮你实现这个功能。以下是代码实现:
```python
# 定义学生类
class Student:
def __init__(self, id, name, score1, score2, score3):
self.id = id
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
self.average = (score1 + score2 + score3) / 3
# 输入10个学生数据
students = []
for i in range(10):
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)))
student = Student(id, name, score1, score2, score3)
students.append(student)
# 计算3门课程总平均成绩
score_sum = [0, 0, 0]
for student in students:
score_sum[0] += student.score1
score_sum[1] += student.score2
score_sum[2] += student.score3
average_score = [score_sum[0]/10, score_sum[1]/10, score_sum[2]/10]
print('3门课程总平均成绩分别为:{:.2f},{:.2f},{:.2f}'.format(average_score[0], average_score[1], average_score[2]))
# 找出最高分学生的数据
max_average = students[0].average
max_student = students[0]
for student in students:
if student.average > max_average:
max_average = student.average
max_student = student
print('最高分学生的数据为:学号:{},姓名:{},三门课的成绩:{:.2f},{:.2f},{:.2f},平均成绩:{:.2f}'.format(max_student.id, max_student.name, max_student.score1, max_student.score2, max_student.score3, max_student.average))
```
你可以将上述代码复制到 Python 环境中运行,输入学生数据后,即可得到3门课程总平均成绩以及最高分学生的数据。注意,这里输入的 10 个学生数据中,每个学生的三门课程成绩均为实数。
阅读全文