编程求一元二次方程的根:设计一个类Equation, 通过构造函数输入三个整系数,然后成员函数findRoot()求出方程的根并打印出来。类的建模如下: 其中方程的系数为整数,求出的根可以是实数。 x=(-b±√(b^2-4ac))/2a
时间: 2024-09-28 20:12:53 浏览: 37
当然,你可以创建一个名为`Equation`的类,用于处理一元二次方程的求解。以下是这个类的一个简单实现:
```python
class Equation:
def __init__(self, a, b, c): # 构造函数,输入三个整数系数
self.a = a
self.b = b
self.c = c
def find_root(self): # 成员函数,计算并返回两个根
delta = self.b ** 2 - 4 * self.a * self.c # 计算判别式
if delta > 0: # 当判别式大于零时,有两个不同的实数根
root1 = (-self.b + delta ** 0.5) / (2 * self.a)
root2 = (-self.b - delta ** 0.5) / (2 * self.a)
print(f"根1: {root1}, 根2: {root2}")
elif delta == 0: # 判别式等于零,有一个重根
root = -self.b / (2 * self.a)
print(f"唯一实根: {root}")
else: # 判别式小于零,无实数根,有复数根
real_part = -self.b / (2 * self.a)
imaginary_part = delta ** 0.5 / (2 * self.a)
print(f"根为复数形式: ({real_part:.2f}+{imaginary_part:.2f}i)")
# 使用示例
equation = Equation(1, -3, 2)
equation.find_root()
```
在这个类中,我们首先初始化方程的系数,然后在`find_root()`方法里根据判别式的值计算并打印出根。注意,为了简化输出,这里假设了根都是浮点数,但实际上它们可以是任意精度的数值。
阅读全文