python已知a,b,c的值,求ax^2+bx+c=0的x的值
时间: 2024-10-07 12:01:03 浏览: 16
在Python中,你可以使用二次方程求解器来解决一元二次方程`ax^2 + bx + c = 0`的问题。这里我们可以使用`cmath`模块的`sqrt()`函数来处理复数情况,因为一元二次方程可能有实根也可能有复根。以下是一个简单的函数来计算两个解:
```python
import cmath
def solve_quadratic_equation(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
# 实数解
if discriminant >= 0:
x1 = (-b + cmath.sqrt(discriminant)) / (2*a)
x2 = (-b - cmath.sqrt(discriminant)) / (2*a)
return x1, x2
else: # 复数解
real_part = -b / (2*a)
imaginary_part = cmath.sqrt(-discriminant) / (2*a)
return (real_part, imaginary_part), (real_part, -imaginary_part)
# 示例:给定 a=1, b=-3, c=2
a = 1
b = -3
c = 2
solutions = solve_quadratic_equation(a, b, c)
if isinstance(solutions[0], complex):
print("方程有两个复数解:", solutions)
else:
print("方程的实数解为:", solutions)