python 解方程ax2+bx+c 计算方程的根 使用sqrt()
时间: 2024-09-24 09:09:46 浏览: 29
Python编程实现数学运算求一元二次方程的实根算法示例
在Python中,你可以使用`cmath`模块处理复数,并结合`sqrt()`函数来计算一元二次方程`ax^2 + bx + c = 0`的根。这里是一个简单的示例:
```python
import cmath
def solve_quadratic(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
# 如果判别式大于0,有两个实根
if discriminant > 0:
root1 = (-b + cmath.sqrt(discriminant)) / (2 * a)
root2 = (-b - cmath.sqrt(discriminant)) / (2 * a)
return root1, root2
# 判别式等于0,有一个实根或重根
elif discriminant == 0:
root = -b / (2 * a)
return (root,)
# 判别式小于0,有两个共轭复根
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 = solve_quadratic(a, b, c)
print(f"方程的根为: {roots}")
阅读全文