面向对象求解一元二次方程
时间: 2023-12-30 20:04:05 浏览: 60
以下是使用面向对象的方式求解一元二次方程的示例代码:
```python
class QuadraticEquation:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def calculate_discriminant(self):
return self.b**2 - 4*self.a*self.c
def calculate_roots(self):
discriminant = self.calculate_discriminant()
if discriminant > 0:
root1 = (-self.b + discriminant**0.5) / (2*self.a)
root2 = (-self.b - discriminant**0.5) / (2*self.a)
return root1, root2
elif discriminant == 0:
root = -self.b / (2*self.a)
return root
else:
return "No real roots"
equation = QuadraticEquation(1, -3, 2)
roots = equation.calculate_roots()
print("Roots:", roots)
```
这个示例代码中,我们定义了一个名为`QuadraticEquation`的类,它有三个属性`a`、`b`和`c`,分别表示一元二次方程的系数。类中有两个方法,`calculate_discriminant`用于计算判别式,`calculate_roots`用于计算方程的根。根据判别式的值,我们可以得到方程的根。最后,我们创建了一个`QuadraticEquation`对象,并调用`calculate_roots`方法来计算方程的根,并将结果打印出来。