任务:求解一元二次方程 ax2+bx+c=0 的根,系数 a、b、c 的值从输入获取。(本关a,b,c都是整型)python
时间: 2024-09-24 11:05:43 浏览: 77
在Python中,你可以使用内置的数学库`cmath`或者`numpy`来求解一元二次方程。这里我们主要讲解如何使用标准库:
```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, root # 返回一个实数根,因为是重根
else: # 当判别式小于0,有两个复数根
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 = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))
c = int(input("请输入c的值:"))
roots = solve_quadratic_equation(a, b, c)
print(f"方程 {a}x^2 + {b}x + {c} = 0 的根是:{roots}")
阅读全文