python 解一元二次方程得出复数解
时间: 2024-11-03 10:17:02 浏览: 7
python解一元二次方程
5星 · 资源好评率100%
Python 的 `cmath` 模块用于处理复数运算,如果你想要在 Python 中解决一元二次方程并得到复数解,你可以利用 `numpy` 或者直接使用 `cmath` 中的 `sqrt()` 和 `pow()` 函数。这里有一个简单的例子:
```python
import cmath
def quadratic_solver(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)
print(f"两个实根: {root1.real:.2f} 和 {root2.real:.2f}")
# 如果判别式等于0,则有一个重根
elif discriminant == 0:
root = -b / (2 * a)
print(f"一个实根: {root.real:.2f}")
# 如果判别式小于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)
print(f"两个共轭复根: {root1:.2f} 和 {root2:.2f}")
# 使用示例
quadratic_solver(1, -3, 2)
```
这个函数会首先计算出一元二次方程的判别式,然后根据不同情况返回实数根或复数根。如果需要进一步操作或展示复数,可以考虑使用 `.real`、`.imag` 属性。
阅读全文