python一元二次方程求解

img

img


请问是哪里出现了问题呢 感觉我答的挺对的 感谢各位学长学姐 谢谢啦 请指导一下子

主要是求根那里的表达式有错误,测试例子使用的是第二个链接的第19题,修改如下:
参考链接:


一元二次方程20道典型例题,附详细解答过程
一元二次方程求根公式_百度百科



 
a=float(input())
b=float(input())
c=float(input())
date = b**2-4*a*c  #首先计算判别式,根据判别式的值再决定怎么计算一元二次方程的根,防止date小于0时,对date开平方报错
#https://baijiahao.baidu.com/s?id=1722370687157957463&wfr=spider&for=pc
if a==0:
    if b!=0:
        print("%0.2f"%(-c/b))
        #print(x2)
    else:
        if a==0 and b==0:
            print("Data error!")
else:
    if date<0:
        print("该方程无实数解")
    elif date==0:      
    #http://m.chusan.com/zhongkao/91799.html    
        print("%0.2f"%(-b/(2*a)))
    elif date>0 :
   #https://baike.baidu.com/item/%E4%B8%80%E5%85%83%E4%BA%8C%E6%AC%A1%E6%96%B9%E7%A8%8B%E6%B1%82%E6%A0%B9%E5%85%AC%E5%BC%8F/56066624?fr=aladdin
        x1 = (-b+(b*b-4*a*c)**(1/2))/(2*a)
        x2 = (-b-(b*b-4*a*c)**(1/2))/(2*a)
        if x1>x2:
            print("%0.2f %0.2f"%(x1,x2))
        else :
            print("%0.2f %0.2f"%(x2,x1))
 

img

代码贴出来,另外要先判断再求x1,x2值

img

img