python求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入,它们的值满足b2-4*a*c>=0
时间: 2024-11-22 17:34:05 浏览: 18
在Python中,可以使用数学库`cmath`来处理复数解的情况,并通过标准公式求解一元二次方程`ax^2 + bx + c = 0`的根。这个公式是:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
其中,`a`, `b`, 和 `c` 分别是一元二次方程的系数。当判别式`b^2 - 4ac`大于等于0时,我们得到实数解;如果小于0,则会有复数解。
下面是一个简单的函数示例,它首先检查判别式的条件,然后计算并返回两个根:
```python
import cmath
def solve_quadratic(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)
# 获取用户输入
a = float(input("请输入a的值: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
roots = solve_quadratic(a, b, c)
print(f"方程的根为: {roots}")
#
阅读全文