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)

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

发布了32 篇原创文章 · 获赞 14 · 访问量 1224

猜你喜欢

转载自blog.csdn.net/qq_45770364/article/details/104403200