Python每日练习—2020.2.19

python练习—求一元二次方程的解

【问题描述】 一元二次方程:ax2+bx+c=0 (a ╪ 0)
【输入形式】 输入a、b和c的值(有理数)
【输出形式】 输出x的两个值,或者No(即没有有理数的解)
【样例输入】 1 2.5 3
【样例输出】 No
【样例输入】 1 -2 1
【样例输出】 1.00 1.00
【样例输出说明】 输出的两个解保留两位小数,大的在前。

代码如下

import math
a,b,c=input().split()
a=float(a)
b=float(b)
c=float(c)
derta = b**2 - 4*a*c
if derta == 0:
    x = (0-b)/2*a
elif derta < 0:
    print('No')
else:
    x1 = ((0-b)+math.sqrt(derta))/2*a
    x2 = ((0-b)-math.sqrt(derta))/2*a
    if x1>x2:
        print("%.2f"%x1,end=' ')
        print("%.2f"%x2)
    else:
        print("%.2f" % x2, end=' ')
        print("%.2f" % x1)

这是小编的憨憨解法,如日后优化了代码,定及时更新

全部评论

相关推荐

11-27 17:08
已编辑
牛客_产品运营部_私域运营
腾讯 普通offer 24k~26k * 15,年包在36w~39w左右。
点赞 评论 收藏
分享
走不到的路就这样算了吗:大佬硬气
点赞 评论 收藏
分享
10-15 03:05
门头沟学院 Java
CADILLAC_:凯文:我的邮箱是死了吗?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务