Я знаю, что это было задано раньше, но ответы мне не помогли:/TypeError: range() целочисленный аргумент end ожидается, получил float?
Я создал функцию, которая запускает цикл for по квадрату max входов, и по всем счетам мой код правильный. . и все же он все еще запрашивает входы с плавающей точкой.
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
печати спираль (3.0,3.0)
И я получаю эту ошибку: TypeError: range() integer end argument expected, got float.
Но я ставлю 3.0, когда я пытаюсь напечатать функцию ... так что мне не хватает?
Спасибо :)
Вы передаете поплавки для значений 'X' и' Y', передайте вместо них целые числа. – 101
вот как я называю функцию: print spiral (3.0, 3.0) – Chef1075
@ Chef1075 - Точно. '3.0' имеет тип' float', а не 'int'. :-). – mgilson