目录

Python-一元二次方程,保留两位小数

目录

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

【样例输出说明】输出的两个解保留两位小数,大的在前。

s = input()
numLst = s.split(' ')
resultLst = map(float,numLst)
a,b,c = resultLst

import math
delta = b**2-4*a*c
if delta < 0:
    print('No')
else:
    x1 = (-b+math.sqrt(delta))/(2*a)
    x2 = (-b-math.sqrt(delta))/(2*a)
    if x1 > x2:
        print("%.2f" % x1,"%.2f" % x2)
    else:
        print("%.2f" % x2,"%.2f" % x1)