这种错误应该怎么解决哇
原题如下:
1.方程ax2+bx+c=0,输入a,b,c的值,根据a,b,c的值判断不同的输出情况情况,判断并输出结果
“有两个根x1= ? ,x2=?”;“有一个根x=?”;“没有根”。保留6位小数。
输入输出样例:
1 (注:运行时的输入)
4
2
有两个根x1=-0.585786,x2=-3.414214 (注:运行时的输出,注意中间的逗号是英文逗号)
这种错误应该怎么解决哇
原题如下:
1.方程ax2+bx+c=0,输入a,b,c的值,根据a,b,c的值判断不同的输出情况情况,判断并输出结果
“有两个根x1= ? ,x2=?”;“有一个根x=?”;“没有根”。保留6位小数。
输入输出样例:
1 (注:运行时的输入)
4
2
有两个根x1=-0.585786,x2=-3.414214 (注:运行时的输出,注意中间的逗号是英文逗号)
有没有根的判断条件是b^2-4ac是否大于0,你的代码中的写的有问题。因为如果没有根的话,你的代码开根号会有问题,修改如下,只有有根的情况下才对b^2-4ac开根号。望采纳!!!!
a = float(input())
b = float(input( ))
c = float(input( ))
if a != 0:
deta = (b**2-4* a * c)
if deta < 0 :
print('没有根')
elif deta == 0:
print('有一个根x=: i:.6f}'.format( (-b)/(2 * a) ))
else:
deta = deta**(1/2)
x1=((-b)+deta)/(2 * a)
x2=((-b)-deta)/(2 * a)
print('有两个根x1={:.6f},x2={:.6f} '.format(x1,x2))
elif b != 0:
print('有一个根x=: i:.6f] '.format((-c)/b))
elif c != 0:
print('没有根')
else:
print( '有一个根x=: {:.6f} ' .format(c))
运行结果: