用Python解出一元二次方程计算出方程的根,输入的数据要保证方程存在实数根
时间: 2024-10-14 13:10:02 浏览: 26
基于python实现的检验一元二次方程是否有实数根的程序
在Python中,你可以使用`cmath`模块来处理复数,因为有时候一元二次方程可能会有复数根。首先,你需要计算判别式`D = b^2 - 4ac`,如果`D > 0`,方程有两个实数根;如果`D == 0`,有一个重根;如果`D < 0`,则有两个共轭复数根。
下面是一个函数示例,用于计算并打印一元二次方程的根:
```python
import cmath
def quadratic_solver(a, b, c):
# 计算判别式
D = (b**2) - (4 * a * c)
# 实数根
if D >= 0:
root1 = (-b + cmath.sqrt(D)) / (2 * a)
root2 = (-b - cmath.sqrt(D)) / (2 * a)
print(f"方程的两个实数根是: {root1:.2f} 和 {root2:.2f}")
# 复数根
else:
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-D) / (2 * a)
print(f"方程的两个复数根是: ({real_part:.2f}+{imaginary_part:.2f}i) 和 ({real_part:.2f}-{imaginary_part:.2f}i)")
# 使用函数并传入系数a, b, c
quadratic_solver(1, -3, 2)
```
当你调用这个函数并提供有效的系数时,它会返回相应的根。记得传递的是二次多项式的系数,例如`(ax^2 + bx + c)`的系数就是`a, b, c`。
阅读全文