在Python中,你可以使用 `math` 库来计算一元二次方程的根。以下是一个简单的函数,用于求解形式为 `ax² + bx + c = 0` 的一元二次方程:
```python
import math
def solve_quadratic(a, b, c):
计算判别式
delta = b2 - 4*a*c
判断是否有实数根
if delta < 0:
return "没有实数根"
elif delta == 0:
如果判别式为0,则方程有一个实数根
x = -b / (2*a)
return x
else:
如果判别式大于0,则方程有两个实数根
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
return x1, x2
示例:求解方程 x² + 2x + 1 = 0
print(solve_quadratic(1, 2, 1)) 输出:(-1.0, -1.0)
这个函数首先计算判别式 `delta`,然后根据 `delta` 的值判断方程的根的情况:
如果 `delta` 小于0,方程没有实数根。
如果 `delta` 等于0,方程有一个实数根。
如果 `delta` 大于0,方程有两个实数根。
函数返回方程的根,可以是实数或复数(如果 `delta` 小于0)。
请注意,如果 `a` 等于0,那么方程将退化为一次方程,此时函数会返回一个错误信息。
如果你需要处理复数根的情况,可以使用 `cmath` 库代替 `math` 库。`cmath` 库提供了复数数学运算的支持。