python一元二次方程 ax2+bx+c=0,a,b,c的值由用户三行输入
时间: 2024-09-30 13:13:14 浏览: 61
在Python中,你可以通过定义一个函数来解决用户输入的一元二次方程。下面是一个简单的例子,它接受用户输入的系数a、b和c,并计算解(如果存在实数解的话):
```python
import cmath
def solve_quadratic_equation():
a = float(input("请输入二次项系数a:"))
b = float(input("请输入一次项系数b:"))
c = float(input("请输入常数项c:"))
# 计算判别式
discriminant = (b**2) - (4 * a * c)
if discriminant > 0:
root1 = (-b + cmath.sqrt(discriminant)) / (2 * a)
root2 = (-b - cmath.sqrt(discriminant)) / (2 * a)
print(f"有两个实数根:{root1:.2f} 和 {root2:.2f}")
elif discriminant == 0:
root = -b / (2 * a)
print(f"有一个实数根:{root:.2f}")
else:
real_part, imaginary_part = cmath.sqrt(-discriminant).real, cmath.sqrt(-discriminant).imag
root1 = complex(-b / (2 * a), real_part)
root2 = complex(-b / (2 * a), -real_part)
print(f"有两个复数根:{root1:.2f} 和 {root2:.2f}")
solve_quadratic_equation()
```
在这个脚本中,我们首先导入了cmath模块用于处理复数。然后用户会看到提示并依次输入三个系数。程序会计算判别式来确定根的情况,并分别打印出实数根或复数根。
阅读全文