大佬们帮我看看要怎么改,如果直接输入非数字的话会显示could not convert string to float: 'a'
Topic source1.你的if判断是如果所有的abc都不为(int和float)类型,才会raise这个错误,把and改成or就好了,而且你下面的input已经将输入数据强制转换成float类型了
2.你的x1和x2计算步骤应该放在判断delta的else下面,只有delat大于0了,才会有结果
- 1
1.你的if判断是如果所有的abc都不为(int和float)类型,才会raise这个错误,把and改成or就好了,而且你下面的input已经将输入数据强制转换成float类型了
2.你的x1和x2计算步骤应该放在判断delta的else下面,只有delat大于0了,才会有结果
王茉莉four
import math
def quadratic(a, b, c):
if not (isinstance(a, (int, float)) and isinstance(b,(int,float)) and isinstance(c,(int,float))):
raise TypeError('输入数据有误')
x1=(-b+math.sqrt(delta))/(2*a)
x2=(-b-math.sqrt(delta))/(2*a)
return x1,x2
a=float(input())
b=float(input())
c=float(input())
delta=b**2-4*a*c
if delta<0:
print('方程无解')
else:
print(quadratic(a, b, c))