python求一元二次函数的两个根
时间: 2024-10-27 17:15:30 浏览: 18
Python编程实现数学运算求一元二次方程的实根算法示例
在Python中,你可以使用math库中的sqrt函数以及一些简单的数学运算来计算一元二次方程的两个根。一元二次方程的一般形式为ax^2 + bx + c = 0,其中a、b和c是常数,a不等于0。
以下是一个简单的步骤来找到根:
1. 首先,我们需要定义函数f(x) = ax^2 + bx + c,然后使用公式x = [-b ± sqrt(b^2 - 4ac)] / (2a) 来计算根。
2. 如果判别式(b^2 - 4ac)小于0,那么方程没有实数解,会有复数根。在这种情况下,我们可以使用cmath模块来进行复数运算。
以下是一个完整的代码示例:
```python
import math
import cmath
def quadratic_roots(a, b, c):
# 计算判别式
discriminant = b**2 - 4*a*c
# 实数解情况
if discriminant >= 0:
root1 = (-b + math.sqrt(discriminant)) / (2 * a)
root2 = (-b - math.sqrt(discriminant)) / (2 * a)
else: # 复数解情况
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-discriminant) / (2 * a)
root1 = complex(real_part, imaginary_part)
root2 = complex(real_part, -imaginary_part)
return root1, root2
# 示例用法
a = 1
b = -3
c = 2
roots = quadratic_roots(a, b, c)
print("Roots are:", roots)
```
阅读全文