有N 个学生,每个学生的数据包括学号、姓名、三门课的成绩。 从键盘输入N 个学生的数据,要求打印出3门课的总平均成绩,以及总分最高的学生的数据(包括学号、姓名、3 门课成绩)。
时间: 2023-12-15 12:16:17 浏览: 704
好的,这是一个关于学生成绩的问题。我会根据您的要求进行计算和输出,保证不会透露您的要求。下面是我提供的解答:
```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
# 输入学生信息
n = int(input("请输入学生人数:"))
students = []
for i in range(n):
id = input("请输入学号:")
name = input("请输入姓名:")
score1, score2, score3 = map(int, input("请输入三门课的成绩(以空格分隔):").split())
student = Student(id, name, score1, score2, score3)
students.append(student)
# 计算三门课的总平均成绩
total_score1 = 0
total_score2 = 0
total_score3 = 0
for student in students:
total_score1 += student.score1
total_score2 += student.score2
total_score3 += student.score3
average_score1 = total_score1 / n
average_score2 = total_score2 / n
average_score3 = total_score3 / n
print("三门课的平均成绩分别为:{:.2f} {:.2f} {:.2f}".format(average_score1, average_score2, average_score3))
# 找出总分最高的学生
max_score = 0
max_student = None
for student in students:
total_score = student.score1 + student.score2 + student.score3
if total_score > max_score:
max_score = total_score
max_student = student
print("总分最高的学生信息为:学号:{} 姓名:{} 成绩:{} {} {}".format(max_student.id, max_student.name, max_student.score1, max_student.score2, max_student.score3))
```
希望这个代码能够帮助到您,如果您有任何问题或者需要进一步的帮助,请随时告诉我。
阅读全文