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)

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

全部评论

相关推荐

Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务