编写一个Python程序,求一元二次方程ax^2+bx+c=0的根
时间: 2024-12-10 18:43:10 浏览: 41
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
在Python中,我们可以使用公式法、牛顿迭代法或通过`cmath`库来计算复数解来求解一元二次方程。这里我将展示如何使用`cmath`库来处理实数和复数解的情况。首先,确保已经安装了`cmath`库,如果没有,可以使用`pip install cmath`命令安装。
以下是一个函数,它接受a, b, c作为参数,并返回方程的两个解:
```python
import cmath
def solve_quadratic_equation(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
# 实数解情况
if discriminant >= 0:
root1 = (-b + cmath.sqrt(discriminant)) / (2 * a)
root2 = (-b - cmath.sqrt(discriminant)) / (2 * a)
return (root1, root2)
else:
# 复数解情况
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-discriminant) / (2 * a)
return (real_part, complex(real_part, imaginary_part))
# 示例:解决方程2x^2 + 5x + 3 = 0
a = 2
b = 5
c = 3
solutions = solve_quadratic_equation(a, b, c)
print(f"方程 {a}x^2 + {b}x + {c} 的解为: {solutions}")
阅读全文