python程序,输入一元二次方程的3个系数a,b和c,求ax2+bx+c=0方程的解。运行效果如下图所示。
时间: 2024-09-22 07:03:59 浏览: 35
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
在Python中,你可以通过定义一个函数来计算一元二次方程的根,通常使用公式`(-b ± sqrt(b^2 - 4ac)) / (2a)`来求解。下面是一个简单的示例,它接受用户输入的一元二次方程系数,并检查判别式`b^2 - 4ac`是否大于0(实数根)、等于0(重根)或小于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)
print(f"两个实数根:{root1:.2f} 和 {root2:.2f}")
elif discriminant == 0:
root = -b / (2*a)
print(f"唯一实数根:{root:.2f}")
else: # 复数根
real_part = -b / (2*a)
imaginary_part = cmath.sqrt(-discriminant) / (2*a)
print(f"一对共轭复数根:{real_part:.2f} + {imaginary_part:.2f}i 和 {real_part:.2f} - {imaginary_part:.2f}i")
# 接收用户输入
a = float(input("请输入二次项系数a: "))
b = float(input("请输入一次项系数b: "))
c = float(input("请输入常数项系数c: "))
# 调用函数求解并打印结果
solve_quadratic_equation(a, b, c)
阅读全文