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)
这是小编的憨憨解法,如日后优化了代码,定及时更新