python解一元二次方程代码函数
时间: 2024-02-18 21:33:33 浏览: 71
利用Python的sympy包求解一元三次方程示例
下面是一个使用Python解一元二次方程的代码函数:
```python
import math
def solve_quadratic_equation(a, b, c):
discriminant = b**2 - 4*a*c
if discriminant < 0:
return None, None
elif discriminant == 0:
x = -b / (2*a)
return x, None
else:
x1 = (-b + math.sqrt(discriminant)) / (2*a)
x2 = (-b - math.sqrt(discriminant)) / (2*a)
return x1, x2
```
这个函数接受三个参数:a,b和c,分别代表二次项系数、一次项系数和常数项。函数会根据判别式的值返回一个或两个解。如果判别式小于0,则方程无实数解,函数返回一个元组 `(None, None)`。如果判别式等于0,则方程有一个重根,函数返回一个元组 `(x, None)`。如果判别式大于0,则方程有两个不同的实数解,函数返回一个元组 `(x1, x2)`。
下面是一个使用这个函数求解方程的例子:
```python
a = 2
b = 5
c = -3
x1, x2 = solve_quadratic_equation(a, b, c)
if x1 is None and x2 is None:
print("The equation has no real solutions.")
elif x2 is None:
print("The equation has one real solution: x =", x1)
else:
print("The equation has two real solutions: x1 =", x1, "and x2 =", x2)
```
这个例子中,我们解方程 $2x^2 + 5x - 3 = 0$,并根据解的情况输出不同的结果。
阅读全文