设计一个学生类Student, 每个学生都有三门课程的成绩,分别是语文、数学、物理。重载“+”运算 符,用于两个学生对象每门成绩求和,重载方法 返回一个学生对象,用程序实现多个学生成绩求和。
时间: 2024-01-02 19:03:24 浏览: 31
下面是一个示例代码实现:
```python
class Student:
def __init__(self, name, chinese, math, physics):
self.name = name
self.chinese = chinese
self.math = math
self.physics = physics
def __add__(self, other):
name = self.name + " " + other.name
chinese = self.chinese + other.chinese
math = self.math + other.math
physics = self.physics + other.physics
return Student(name, chinese, math, physics)
def __str__(self):
return f"{self.name}: Chinese={self.chinese}, Math={self.math}, Physics={self.physics}"
if __name__ == '__main__':
student1 = Student("Tom", 90, 85, 95)
student2 = Student("Jerry", 80, 90, 92)
student3 = Student("Lucy", 70, 95, 85)
total = student1 + student2 + student3
print(total)
```
在上面的代码中,我们定义了一个名为Student的类,其中包括一个构造函数__init__(),它接受学生的姓名和三门课程的成绩。然后我们重载了"+"运算符,这样我们就可以将两个学生对象相加,得到每门课程的总成绩。最后,我们还重载了__str__()方法,以便在打印学生对象时将其转换为字符串。
在主程序中,我们创建了三个学生对象并将它们相加,最终得到了每门课程的总成绩。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)