Python:一元二次方程求解

#python一元二次方程求解

# bglei@nuaa.edu.cn 2022年5月11日
import math
z=input('输入一元二次方程系数:').split()
a,b,c=float(z[0]),float(z[1]),float(z[2])
if b**2==4*a*c:
    x= (-b + math.sqrt(b*b-4*a*c))/(2*a)
    print('x1=x2=%.5f' %x)
elif b**2>4*a*c:
    print('x1=%.5f;x2=%.5f' %((-b + math.sqrt(b*b-4*a*c))/(2*a),(-b - math.sqrt(b*b-4*a*c))/(2*a)))
else:

    re= -b / (2*a)
    if abs(re-0)<0.000001:
        re=0.00000
    im=math.sqrt(4*a*c-b*b) / (2*a)
    print('x1=%.5f+%.5fi;x2=%.5f-%.5fi' %(re,im,re,im))

运行示例:

输入一元二次方程系数:1 3 4
x1=-1.50000+1.32288i;x2=-1.50000-1.32288i

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CHNfisher

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值