python 编写程序,求解一元二次方程ax2+bx+c=0,输入a,b,c,输出方程的实数根
时间: 2024-10-25 14:06:51 浏览: 126
二次方程式:Python程序,用于求解二次方程式并以完全简化的代数表达式形式给出答案
在Python中,我们可以使用数学库`cmath`来处理复数情况,并通过公式法计算一元二次方程的根。下面是一个简单的函数示例:
```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)
else: # 复数根的情况
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-discriminant) / (2 * a)
return (real_part, imaginary_part)
# 用户输入系数
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# 调用函数并打印结果
roots = solve_quadratic_equation(a, b, c)
if isinstance(roots[0], complex):
print(f"方程的根为实部 {roots[0].real} + i*{roots[0].imag} 和 {roots[1].real} + i*{roots[1].imag}")
else:
print(f"方程的根为 {roots[0]} 和 {roots[1]}")
阅读全文