Python TypeError:需要range()整数结束参数,是否获得浮点?

Python TypeError:需要range()整数结束参数,是否获得浮点?,python,floating-point,Python,Floating Point,我知道以前有人问过这个问题,但答案对我没有帮助:/ 我创建了一个函数,它在输入的最大平方上运行for循环,所有人都认为我的代码是正确的……但它仍然要求浮点输入 def spiral(X, Y): x = y = 0 dx = 0 dy = 0 count = 0 for i in range(max(X, Y)**2): if (-X/2.0 < x <= X/20) and (-Y/2.0 < y <= Y/2.0): print (x, y

我知道以前有人问过这个问题,但答案对我没有帮助:/

我创建了一个函数,它在输入的最大平方上运行for循环,所有人都认为我的代码是正确的……但它仍然要求浮点输入

def spiral(X, Y):

x = y = 0
dx = 0
dy = 0
count = 0

for i in range(max(X, Y)**2):
    if (-X/2.0 < x <= X/20) and (-Y/2.0 < y <= Y/2.0):
        print (x, y)

    if x == y or (x < 0 and x == -y) or (x > 0 and x == 1-y):
        dx, dy = -dy, dx

    x, y = x+dx, y+dy
def螺旋(X,Y):
x=y=0
dx=0
dy=0
计数=0
对于范围内的i(最大值(X,Y)**2):

如果(-X/2.0
for i in range(max(int(X), int(Y))**2):

您正在为
X
Y
的值传递浮点值,而不是传递整数。这就是我调用函数的方式:print spiral(3.0,3.0)@Chef1075——完全正确。
3.0
的类型是
float
,而不是
int
:-)。
对于范围内的I(max(int(X),int(Y))**2:
,有效。所以我把它理解为…期望浮点得到整数。正好相反。