建立一个求一元二次方程解的类(a*x^2+b*x+c=0),输入系数a,b,c 的值后打印出 这个方程的解输出m行,要求格式如下:若无解则输出-1,若有单解则输出x=..,若有两解则输出x1=...,x2=...,具体参见样例,保留小数点后两位。
时间: 2024-03-23 17:41:16 浏览: 43
好的,我可以帮你建立一个求解一元二次方程的类。以下是示例代码:
```python
class QuadraticEquation:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def solve(self):
delta = self.b ** 2 - 4 * self.a * self.c
if delta < 0:
print("-1")
elif delta == 0:
x = round((-self.b + delta ** 0.5) / (2 * self.a), 2)
print(f"x={x}")
else:
x1 = round((-self.b + delta ** 0.5) / (2 * self.a), 2)
x2 = round((-self.b - delta ** 0.5) / (2 * self.a), 2)
print(f"x1={x1}\nx2={x2}")
```
在这个类中,我们使用了 `__init__` 方法来初始化方程的系数 `a`, `b`, `c`。然后我们定义了一个 `solve` 方法来求解方程的解。在 `solve` 方法中,我们首先计算出方程的判别式 `delta`,然后根据 `delta` 的值来输出对应的解。如果 `delta` 小于 0,则输出 -1;如果 `delta` 等于 0,则输出单解;如果 `delta` 大于 0,则输出两解。在输出解的时候,我们使用了 `round` 函数来保留两位小数。
你可以通过以下方式来使用这个类:
```python
eq = QuadraticEquation(1, -3, 2)
eq.solve()
```
这里我们创建了一个 `QuadraticEquation` 对象,它的系数为 `a=1`, `b=-3`, `c=2`。然后我们调用 `solve` 方法来求解方程的解。输出结果应该为:
```
x1=2.0
x2=1.0
```
阅读全文