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)

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

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值