python 输入 a、b、c三个参数,求解 ax2+bx+c=0的两个根。
时间: 2024-10-27 11:10:45 浏览: 25
在Python中,你可以使用二次方程求根公式来解决这个问题。首先,需要确认给定的a、b和c是否满足二次方程的条件,即a不等于0。然后可以定义一个函数来计算根,这里是一个简单的示例:
```python
import cmath
def calculate_roots(a, b, c):
# 检查a是否为0,因为a=0会导致方程不是二次方程
if a == 0:
print("错误:a不能为0")
return None
# 计算判别式
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)
elif discriminant == 0:
root = -b / (2 * a)
return (root,)
else: # 复数根
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-discriminant) / (2 * a)
roots = (real_part + imaginary_part * 1j, real_part - imaginary_part * 1j)
return roots
# 调用函数并传入系数
coefficients = float(input("请输入a, b, c的值(例如 1 2 3): "))
a, b, c = coefficients.split()
a, b, c = float(a), float(b), float(c)
roots_result = calculate_roots(a, b, c)
if roots_result is not None:
print(f"方程的根为:{roots_result}")
else:
print("无法计算根")
阅读全文