Python的类解决一元二次方程
时间: 2023-12-05 09:25:21 浏览: 25
好的,我可以为你编写一个解决一元二次方程的Python类。以下是示例代码:
```python
class QuadraticEquation:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def discriminant(self):
return self.b**2 - 4*self.a*self.c
def roots(self):
d = self.discriminant()
if d < 0:
return None
elif d == 0:
return -self.b / (2*self.a)
else:
root1 = (-self.b + d**0.5) / (2*self.a)
root2 = (-self.b - d**0.5) / (2*self.a)
return root1, root2
```
在这个类中,我们定义了三个变量 `a`,`b` 和 `c`,表示一元二次方程的系数。`__init__` 方法用于初始化这些变量。我们还定义了两个方法 `discriminant` 和 `roots`。
`discriminant` 方法用于计算方程的判别式,即 $b^2 - 4ac$。
`roots` 方法用于计算方程的根。如果判别式小于零,则方程无实数根,返回 `None`。如果判别式等于零,则方程有一个重根,返回该根的值。如果判别式大于零,则方程有两个不同的实数根,返回这两个根的值。
使用这个类,你可以创建一个 `QuadraticEquation` 对象,然后调用它的 `roots` 方法来计算方程的根。例如:
```python
eq = QuadraticEquation(1, -5, 6)
print(eq.roots()) # 输出 (3.0, 2.0)
```
这个例子解决的是 $x^2 - 5x + 6 = 0$ 这个方程。