设计一个学生类Student, 每个学生都有三门课程的成绩,分别是语文、数学、物理。重载“+”运算 符,用于两个学生对象每门成绩求和,重载方法 返回一个学生对象,用程序实现多个学生成绩求和
时间: 2023-12-10 16:40:14 浏览: 65
下面是一个示例实现:
```python
class Student:
def __init__(self, name, chinese=0, math=0, physics=0):
self.name = name
self.chinese = chinese
self.math = math
self.physics = physics
def __add__(self, other):
new_chinese = self.chinese + other.chinese
new_math = self.math + other.math
new_physics = self.physics + other.physics
return Student("Total", new_chinese, new_math, new_physics)
def __str__(self):
return f"{self.name}的成绩:语文={self.chinese}, 数学={self.math}, 物理={self.physics}"
```
这个学生类有四个属性:姓名和三门课程的成绩。重载了加号运算符,用于两个学生对象的每门成绩求和,返回一个新的学生对象。其中,新学生对象的姓名为“Total”,表示求和后的总成绩。
下面是一个示例程序,用于计算多个学生的成绩求和:
```python
students = [
Student("张三", 80, 90, 85),
Student("李四", 75, 85, 90),
Student("王五", 90, 80, 95),
]
total = Student("Total")
for student in students:
print(student)
total += student
print(total)
```
这个程序定义了三个学生对象,分别表示三个学生的成绩。然后,使用一个循环遍历所有学生对象,依次输出每个学生的成绩,并将其加到总成绩对象中。最后,输出总成绩对象的信息,表示多个学生成绩的求和结果。