设计一个整系数的一元二次多项式类 (将未定元固定为字符串X),将三个整系 数作为它的三个实例属性,重载加法与减法运算,实现特殊方法 __str_。最后,生成两个实例 做简单测试!
时间: 2024-02-22 18:59:50 浏览: 105
好的,下面是代码实现:
```python
class QuadraticPolynomial:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def __str__(self):
return f"{self.a}X^2 + {self.b}X + {self.c}"
def __add__(self, other):
a = self.a + other.a
b = self.b + other.b
c = self.c + other.c
return QuadraticPolynomial(a, b, c)
def __sub__(self, other):
a = self.a - other.a
b = self.b - other.b
c = self.c - other.c
return QuadraticPolynomial(a, b, c)
# 测试
p1 = QuadraticPolynomial(1, 2, 1)
p2 = QuadraticPolynomial(2, 3, 4)
print(p1) # 输出 "1X^2 + 2X + 1"
print(p2) # 输出 "2X^2 + 3X + 4"
p3 = p1 + p2
print(p3) # 输出 "3X^2 + 5X + 5"
p4 = p2 - p1
print(p4) # 输出 "1X^2 + 1X + 3"
```
在这个类中,我们使用了三个实例属性 a、b、c 来表示一元二次多项式的系数。特殊方法 `__str__` 用于将多项式转换为字符串进行输出。`__add__` 和 `__sub__` 分别重载了加法和减法运算,使得两个多项式对象可以进行加减运算,并返回一个新的多项式对象。
在测试中,我们创建了两个多项式对象 p1 和 p2,然后调用 `__str__` 方法将其转换为字符串并输出。接着,我们对 p1 和 p2 进行加减运算,得到两个新的多项式对象 p3 和 p4,然后也将其转换为字符串并输出。
阅读全文