使用python求解一个一元二次方程

244 阅读2分钟

要使用Python求解一个一元二次方程,可以使用标准的数学表达式和运算符来计算方程的解。下面是一个求解一元二次方程的示例代码:

import math
def solve_quadratic_equation(a, b, c):
    # 计算判别式
    discriminant = b ** 2 - 4 * a * c
    if discriminant >= 0:
        # 计算实根
        root1 = (-b + math.sqrt(discriminant)) / (2 * a)
        root2 = (-b - math.sqrt(discriminant)) / (2 * a)
        return root1, root2
    else:
        # 复数根
        real_part = -b / (2 * a)
        imaginary_part = math.sqrt(abs(discriminant)) / (2 * a)
        root1 = complex(real_part, imaginary_part)
        root2 = complex(real_part, -imaginary_part)
        return root1, root2
# 用例1:求解方程 x^2 - 4x + 4 = 0 21
a = 1
b = -4
c = 4
roots = solve_quadratic_equation(a, b, c)
print("Roots:", roots)

# 用例2:求解方程 2x^2 + 3x - 5 = 0 28
a = 2
b = 3
c = -5
roots = solve_quadratic_equation(a, b, c)
print("Roots:", roots)

在上述代码中,我们定义了一个函数  solve_quadratic_equation ,它接受三个参数  ab  和  c ,表示一元二次方程的系数。该函数首先计算判别式  discriminant ,然后根据判别式的值判断方程的解的类型。

如果判别式大于等于0,说明方程有实根。我们使用标准的一元二次方程求根公式,计算出两个实根  root1  和  root2 ,并将它们作为一个元组返回。

如果判别式小于0,说明方程有复数根。我们计算出实部和虚部,然后使用复数类型构造出两个复数根  root1  和  root2 ,同样将它们作为一个元组返回。

在示例中,我们使用两个用例来演示如何使用  solve_quadratic_equation  函数求解不同的二次方程。您可以根据需要修改方程的系数和方程的个数,在每个用例中调用函数,并打印出求解得到的根。

请注意,上述代码假定方程存在实数解或复数解。如果方程没有实数解或复数解,上述代码将无法获得有效的结果。