使用Python求解一元二次方程

一元二次方程:ax²+ bx + c = 0

求根公式:x =( - b +√(b²-4ac))/ 2a 

判别式:称称b²-4AC

def my_math(a, b , c):
        #首先判断输入的参数为int、float类型,如果不是则输出自定义异常。
        if not isinstance(a,(int, float)) and not isinstance(b, (int, float)) and not isinstance(c, (int, float)) :
            raise TypeError("输入的参数类型有误" + a)
        # elif not isinstance(b, (int, float)):
        #     raise TypeError("输入的参数类型有误" + b)
        # elif not isinstance(c, (int, float)):
        #     raise TypeError("输入的参数类型有误" + c)
        else:
            #定义一个变量获取判别式结果
            dist = pow(b,2) - (4 * a * c)
            print(dist)
            #一元二次方程共有3种结果,dist为0或<0或>0三种结果
            #dist为0时,结果只有一个相同的实数
            #dist < 0 时,没有实数结果
            #dist > 0 时,有2个实数结果 
            if dist == 0:
                result = -b / (2 * a)
                print("只有一个相同的实数:", result)
            if dist < 0:
                print("没有实数")
            if dist > 0:
                result1 = (-b + math.sqrt(dist)) /2 * a
                result2 = (-b - math.sqrt(dist)) / 2 * a
                print(result1)
                print(result2)


my_math(-6,6,6)

 

你可能感兴趣的:(Python的常见试题,ÿ一元二次求根)