利用公式 :
输入一行,包含三个浮点数 a,b,c(它们之间以一个空格分开),表示方程的系数。
输出要求:输出一行,表示方程的解。
- 若两个实根相等,则输出形式为:
x1=x2=aaaa
; - 若两个实根不等,在满足根小者在前的原则,则输出形式为:
x1=aaaa;x2=bbbb
; - 若无实根输出
No answer!
。 - 所有输出部分要求精确到小数点后 5 位,数字、符号之间没有空格。
from math import sqrt
a,b,c=input().split()
a=float(a)
b=float(b)
c=float(c)
d=b*b-4*a*c
if d<0:
print("No answer!")
elif d==0:
x1=(-b+sqrt(d))/(2*a)
print("x1=x2=%.5f"%x1)
else:
x1=(-b+sqrt(d))/(2*a)
x2=(-b-sqrt(d))/(2*a)
if x1>x2:
print("x1=%.5f"%x2+";" +"x2=%.5f"%x1) #输出方式1
else:
print("x1=%.5f;"%x1 +"x2=%.5f"%x2) #输出方式2
解析:
需要注意
- 首先判断
是否小于0,小于0则无实根。
- 当
=0时,两根相等,即输出相等的两根格式。
- 当
>0时,有两个根,此时根据题目要求判断两个根大小,小的在前输出。
- 输出方式有两种:‘+’此时为连接符,将X1,X2分别连续输出;分号可以添加到输出格式‘%.5f’后边,也可用连接符加上依次输出。
今天你学会了吗