python解一元二次方程

解一元二次方程ax^2+bx+c=0

刚开始碰到这个问题,习惯性地想要用迭代的方式来做,居然忘记了解方程的公式...

思路:

公式法解方程即可,先计算delta=b^2-4ac

若delta<0,则判断方程无解(为方便起见,忽略复数解)

若delta>=0,则x1=\frac{-b+\sqrt{delta}}{2a}     x2=\frac{-b-\sqrt{delta}}{2a}

代码:

import math
def quadratic(a,b,c):
    delta = b**2-4*a*c
    if delta<0:
        print('there is no anwser'!)
    elif delta=0:
        x1=x2=-b/(2*a)
        print('x1=x2=',x1)
    else:
        x1=(-b+math.sqrt(delta)/(2*a)
        x2=(-b-math.sqrt(delta)/(2*a)
        print('x1=',x1,',','x2=',x2)

 反思:编程最重要的果然是思路,有了好的解决问题的思路,后面的工作做起来行云流水一般,惯性思维让人陷入最平庸的想法中,要提防。此外,实在想不出来,就百度嘛

猜你喜欢

转载自blog.csdn.net/Zeke_Leeeee/article/details/87805050