Есть две ошибки:
Вы ничего не печатает. Функция item()
возвращает, и вы проигнорировали возвращаемое значение. Интерактивный интерпретатор Python перекликается с почти тем, что вы делаете, но для обычного сценария требуется явно распечатать.
Вы возвращаете первое значение диапазона. return
заканчивается функция.
Вы можете создать список значений первого и возврата, которые, затем распечатать результат:
def item(number, terminator, step):
items = []
while number < terminator:
items.append(number)
number += step
return items
print(item(1.00, 1.12, 0.01))
Демо:
>>> def item(number, terminator, step):
... items = []
... while number < terminator:
... items.append(number)
... number += step
... return items
...
>>> print(item(1.00, 1.12, 0.01))
[1.0, 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11]
В качестве альтернативы, использовать yield
вместо return
, чтобы включить вашу функцию в generator и обведите результаты:
def item(number, terminator, step):
while number < terminator:
yield number
number += step
for value in item(1.00, 1.12, 0.01):
print(value)
, который производит:
>>> def item(number, terminator, step):
... while number < terminator:
... yield number
... number += step
...
>>> for value in item(1.00, 1.12, 0.01):
... print(value)
...
1.0
1.01
1.02
1.03
1.04
1.05
1.06
1.07
1.08
1.09
1.1
1.11