设计一个学生类Student,每个学生都有三门课程的成绩,分别是语文、数学和物理,重载+运算符,用于对两个学生对象每门成绩的求和,重载方法返回一个学生对象,用程序实现多个学生的成绩求和,并求每门课程成绩的平均分
时间: 2023-12-19 18:06:49 浏览: 162
好的,我可以为您编写这个类。以下是一个示例:
```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):
chinese_total = self.chinese + other.chinese
math_total = self.math + other.math
physics_total = self.physics + other.physics
return Student("Total", chinese_total, math_total, physics_total)
def average(self):
chinese_avg = self.chinese / 2
math_avg = self.math / 2
physics_avg = self.physics / 2
return chinese_avg, math_avg, physics_avg
```
这个类包含一个构造函数,用于初始化每个学生的姓名和三门课程的成绩。还有一个重载了+运算符的方法,用于计算两个学生每门课程成绩的总和,并返回一个新的学生对象。最后,还有一个方法用于计算每门课程的平均分。
下面是一个使用示例:
```python
# 创建两个学生对象
student1 = Student("张三", 80, 90, 70)
student2 = Student("李四", 85, 95, 75)
# 计算两个学生每门课程的总成绩
total = student1 + student2
print(total.chinese, total.math, total.physics)
# 计算每门课程的平均分
chinese_avg, math_avg, physics_avg = total.average()
print(chinese_avg, math_avg, physics_avg)
```
这个程序将会输出以下结果:
```
165 185 145
82.5 92.5 72.5
```
其中,第一行输出了两个学生每门课程的总成绩,第二行输出了每门课程的平均分。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)