用python编写一个函数,求一元二次方程的根
时间: 2023-06-01 10:03:11 浏览: 147
基于python实现的检验一元二次方程是否有实数根的程序
以下是一个求解一元二次方程的根的Python函数:
```python
import math
def quadratic_equation(a, b, c):
"""
求一元二次方程的根
ax^2 + bx + c = 0
返回一个元组,包含两个根(可能相等)
"""
delta = b * b - 4 * a * c
if delta < 0:
return None
elif delta == 0:
x = -b / (2 * a)
return (x, x)
else:
sqrt_delta = math.sqrt(delta)
x1 = (-b + sqrt_delta) / (2 * a)
x2 = (-b - sqrt_delta) / (2 * a)
return (x1, x2)
# 示例
print(quadratic_equation(2, 3, 1)) # (-0.5, -1.0)
print(quadratic_equation(1, -6, 9)) # (3.0, 3.0)
print(quadratic_equation(1, 2, 3)) # None
```
在这个函数中,参数 `a`, `b`, `c` 分别表示一元二次方程的三个系数。函数首先计算判别式 `delta`,如果 `delta` 小于 0,则方程无实数根,函数返回 `None`;如果 `delta` 等于 0,则方程有一个实数根,函数返回一个长度为 1 的元组;如果 `delta` 大于 0,则方程有两个不同的实数根,函数返回一个长度为 2 的元组。函数中使用了 Python 标准库中的 `math.sqrt` 函数来计算平方根。
阅读全文