解一元二次方程ax^2+bx+c=0
刚开始碰到这个问题,习惯性地想要用迭代的方式来做,居然忘记了解方程的公式...
思路:
公式法解方程即可,先计算delta=b^2-4ac
若delta<0,则判断方程无解(为方便起见,忽略复数解)
若delta>=0,则
代码:
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)
反思:编程最重要的果然是思路,有了好的解决问题的思路,后面的工作做起来行云流水一般,惯性思维让人陷入最平庸的想法中,要提防。此外,实在想不出来,就百度嘛