python写代码求解一元二次方程的根。一元二次方程形式如下: ax2+bx+c=0,编写程序实现用户从键盘输入方程系数a,b,c,计算方程的实数根并输出显示。 一元二次方程的求解公式为:
时间: 2024-12-14 12:17:19 浏览: 5
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
在Python中,你可以使用`cmath`模块来处理复数,并通过二次公式来计算一元二次方程的根。以下是实现这个功能的简单步骤:
```python
import cmath
def calculate_roots(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
if a == 0:
print("这不是一个二次方程,a不能为零.")
return None
# 实数根的情况
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)
root1 = complex(real_part, imaginary_part)
root2 = complex(real_part, -imaginary_part)
return (root1, root2)
# 获取用户输入
a = float(input("请输入a的值: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
roots = calculate_roots(a, b, c)
if roots is not None:
print("一元二次方程的根是:")
for i, root in enumerate(roots, start=1):
print(f"根{i}: {root}")
else:
print("无法计算,因为不是二次方程.")
```
运行此程序时,用户需要输入一元二次方程的系数a、b和c。如果方程有实数根,它将输出两个根;如果有复数根,会输出一对共轭复数。
阅读全文