python求一元二次方程的根
时间: 2023-05-29 16:05:56 浏览: 183
基于python实现的检验一元二次方程是否有实数根的程序
下面是一个求一元二次方程根的Python代码:
```python
import math
def quadratic(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return None, None
elif delta == 0:
x = -b / (2*a)
return x, None
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
return x1, x2
```
其中,a、b、c分别代表一元二次方程ax²+bx+c=0中的系数,delta为判别式。根据判别式的不同情况,可以得到不同的解法:
- 当delta<0时,方程无实根,返回None, None;
- 当delta=0时,方程有唯一实根x=-b/(2a),返回x, None;
- 当delta>0时,方程有两个不同的实根x1=(-b+√delta)/(2a)和x2=(-b-√delta)/(2a),返回x1, x2。
使用示例:
```python
>>> quadratic(2, 3, 1)
(-0.5, -1.0)
>>> quadratic(1, -2, 1)
(1.0, None)
>>> quadratic(1, 2, 3)
(None, None)
```
这里的结果分别表示方程2x²+3x+1=0的两个实根分别为-0.5和-1,方程x²-2x+1=0的唯一实根为1,方程x²+2x+3=0无实根。
阅读全文