python实战实例:求一元二次方程

利用公式 :

输入一行,包含三个浮点数 a,b,c(它们之间以一个空格分开),表示方程的系数。

输出要求:输出一行,表示方程的解。

  • 若两个实根相等,则输出形式为:x1=x2=aaaa
  • 若两个实根不等,在满足根小者在前的原则,则输出形式为:x1=aaaa;x2=bbbb
  • 若无实根输出 No answer!
  • 所有输出部分要求精确到小数点后 5 位,数字、符号之间没有空格。
from math import sqrt
a,b,c=input().split()
a=float(a)
b=float(b)
c=float(c)
d=b*b-4*a*c
if d<0:
    print("No answer!")
elif d==0:
    x1=(-b+sqrt(d))/(2*a)
    print("x1=x2=%.5f"%x1)
else:
    x1=(-b+sqrt(d))/(2*a)
    x2=(-b-sqrt(d))/(2*a)
    if x1>x2:
        print("x1=%.5f"%x2+";" +"x2=%.5f"%x1)  #输出方式1
    else:
        print("x1=%.5f;"%x1 +"x2=%.5f"%x2)    #输出方式2

解析:

需要注意

  • 首先判断\Delta是否小于0,小于0则无实根。
  • \Delta=0时,两根相等,即输出相等的两根格式。
  • \Delta>0时,有两个根,此时根据题目要求判断两个根大小,小的在前输出。
  • 输出方式有两种:‘+’此时为连接符,将X1,X2分别连续输出;分号可以添加到输出格式‘%.5f’后边,也可用连接符加上依次输出。

    今天你学会了吗

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SHU_ANGY

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

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

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

打赏作者

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

抵扣说明:

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

余额充值