2015-10-26 5 views
0

Мой код:Python TypeError: 'Поплавок' объект не может быть истолковано как целое

for i in range(3.3, 5): 
     print(i) 

Приведенный выше код должен напечатать:

3.300000

4.300000

но интерпретатор Python 3.4.0 печататься следующее сообщение об ошибке:

TypeError: 'float' object cannot be interpreted as an integer

+1

'range()' работает с целыми числами, а не с дробными значениями. – Kevin

ответ

1

range() работает с целыми числами не поплавками, но вы можете создать свой собственный генератор ВГ диапазона ич будет делать то, что вы хотите:

def frange(start, stop, step=1): 
    i = start 
    while i < stop: 
     yield i 
     i += step 

for i in frange(3.3, 5) даст вам желаемый результат.

Обратите внимание, что frange будет, в отличие от range, но как xrange, верните генератор, а не список.

Смежные вопросы