欢迎访问宙启技术站
智能推送

Python编写案例:求解二次方程

发布时间:2023-12-04 15:24:48

下面是一个使用Python编写的求解二次方程的案例:

import math

def solve_quadratic_equation(a, b, c):
    # 计算判别式
    delta = b**2 - 4*a*c

    if delta < 0:
        # 如果判别式小于0,则方程无解
        return None
    elif delta == 0:
        # 如果判别式等于0,则方程有唯一解
        x = -b / (2*a)
        return x
    else:
        # 如果判别式大于0,则方程有两个解
        x1 = (-b + math.sqrt(delta)) / (2*a)
        x2 = (-b - math.sqrt(delta)) / (2*a)
        return x1, x2

# 使用示例
a = float(input("请输入二次方程的a系数:"))
b = float(input("请输入二次方程的b系数:"))
c = float(input("请输入二次方程的c系数:"))

solutions = solve_quadratic_equation(a, b, c)
if solutions is None:
    print("该二次方程无解")
elif isinstance(solutions, float):
    print("该二次方程有唯一解,解为:", solutions)
else:
    print("该二次方程有两个解,分别为:", solutions[0], "和", solutions[1])

以上代码中,solve_quadratic_equation函数用于求解二次方程。其中,abc分别为二次方程的系数。函数中判断判别式的值,根据不同的情况返回对应的解。如果判别式小于0,则方程无解;如果判别式等于0,则方程有唯一解;如果判别式大于0,则方程有两个解。

在使用示例中,用户可以输入二次方程的系数,并调用solve_quadratic_equation函数来求解方程。根据求解结果的类型,打印相应的解。

以下是一个使用示例:

请输入二次方程的a系数:1
请输入二次方程的b系数:-3
请输入二次方程的c系数:2
该二次方程有两个解,分别为: 2.0 和 1.0

根据用户输入的系数,程序计算并得出该二次方程的两个解为2.0和1.0。