我定义了这样的分段函数:
def C1(d,x):
if ((x<d/2) and (x>-d/2)):
return (1/d)
else:
return 0
但它总是让我回归0
In [23]: C1(1000,1)
Out[23]: 0
答案 0 :(得分:1)
答案 1 :(得分:1)
在Python中,除法符号运算符(/)执行整数除法,这意味着如果分子和分母都是整数,则会截断任何小数点。所以当你做(1 / d)时,1和d都是整数,所以它确实如此,例如,1/1000这是0.001,但是在整数除法中你会丢失小数,所以你得到0.要解决这个问题,请完成所有通过添加.0浮动您定义的数字。例如,(x