求助大神
用Python输入一元二次方程,方程的三个系数分别为a,b,C,求解该方程。(需要判断解的三种情况和a=0的情况并求出来) 要使用Python求解一元二次方程,我们可以使用以下代码。这里我们使用cmath库来处理复数根的情况。import cmath
def solve_quadratic(a, b, c):
if a == 0:
if b == 0:
return "无解" if c != 0 else "有无数个解"
else:
return f"线性方程的解为: {-c/b}"
else:
delta = b ** 2 - 4 * a * c
if delta > 0:
x1 = (-b + cmath.sqrt(delta)) / (2 * a)
x2 = (-b - cmath.sqrt(delta)) / (2 * a)
return f"实数解: x1 = {x1}, x2 = {x2}"
elif delta == 0:
x = -b / (2 * a)
return f"重根: x = {x}"
else:
x1 = (-b + cmath.sqrt(delta)) / (2 * a)
x2 = (-b - cmath.sqrt(delta)) / (2 * a)
return f"复数解: x1 = {x1}, x2 = {x2}"
# 示例
a, b, c = 1, -3, 2
result = solve_quadratic(a, b, c)
print(result)
这段代码首先检查a是否为0,以确定方程是否为一元二次方程。如果a为0,代码将检查b的值,以确定方程是否具有解。之后,代码计算判别式(delta)的值,并根据其符号确定解的类型(实数解、重根或复数解)。最后,代码使用公式求解方程并输出解。
页:
[1]