用Python输入 a、b、c三个参数,求解 ax2+bx+c=0的两个根,假定b2-4ac>0。
时间: 2024-10-08 14:23:57 浏览: 51
在Python中,你可以使用数学库`cmath`来处理复数情况,并通过二次方程公式来计算给定三次式ax^2 + bx + c = 0的根。这里是一个简单的函数实现:
```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
# 判别式等于零,有一个实数根
elif discriminant == 0:
root = -b / (2 * a)
return root, None
# 判别式小于零,有两个共轭复数根
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 = float(input("请输入a的值: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
result = solve_quadratic_equation(a, b, c)
if result[1] is not None:
print(f"两个根分别是 {result[0]} 和 {result[1]}")
else:
print(f"单个实数根是 {result[0]}")
阅读全文