已知一元二次方程的三个系数,编程求ax 2 +bx+c=0方程的根,系数a,b,c的值由键盘输入,构建一个一元二次方程的实例,假设a,b,c的值,使得 b 2 −4ac⩾0成立。
时间: 2023-05-25 20:02:07 浏览: 147
编写一个求解一元二次方程的根的程序,方程的系数由用户输入。
4星 · 用户满意度95%
A:
```python
import math
class QuadraticEquation:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def solve_equation(self):
delta = self.b ** 2 - 4 * self.a * self.c
if delta < 0:
return None
elif delta == 0:
x1 = x2 = -self.b / (2 * self.a)
else:
x1 = (-self.b + math.sqrt(delta)) / (2 * self.a)
x2 = (-self.b - math.sqrt(delta)) / (2 * self.a)
return x1, x2
if __name__ == '__main__':
a = float(input('请输入a:'))
b = float(input('请输入b:'))
c = float(input('请输入c:'))
if b**2 - 4 * a * c < 0:
print('b^2 - 4ac < 0,方程无实根')
else:
equation = QuadraticEquation(a, b, c)
roots = equation.solve_equation()
print('方程的根为:', roots)
```
代码说明:
定义了一个`QuadraticEquation`类,包含三个属性`a`、`b`、`c`,以及一个解一元二次方程的`solve_equation`方法。根据判别式的大小关系来判断方程有一个根、有两个根或者无实根,并返回方程的根。在`if __name__ == '__main__':`代码块中,使用`input`函数获取用户输入的系数,构建一个`QuadraticEquation`实例,调用`solve_equation`方法得出方程的根。同时,根据$b^2 - 4ac \geq 0$的条件判断方程是否有实根。
阅读全文