在Python中,“float”对象无法被解释为整数。

3

我搜索了一些使用//运算符的方法,但是我不明白如何在我的程序中使用它。

def trapezoid(x, a, b, c, d):
    if x <= a:
        return 0
    if a < x <= b:
        return (x - a)/(b - a)
    if b < x <= c:
        return 1
    if c < x <= d:
        return (d - x)/(d - c)
    if d < x:
        return 0 
for i in range(-100, 100, 0.01):
    small_y = trapezoid(i, -2.46, -1.46, 1.46, 2.46)

我尝试使用i/0.01或i//0.01,但显示相同的错误,并且我不想将整数从浮点数转换,我只想计算-100,-99.99,-99.98....


2
range 不支持浮点数。 - user2357112
另一种方法是使用np.arrange(-100, 100, 0.01)。 - 4daJKong
不好的选择。如果你要使用NumPy,请使用numpy.linspace。带有浮点输入的arange存在严重的舍入误差问题。 - user2357112
1个回答

3
for i in range(-10000, 10000, 1):
    your_float = i*.01

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接