for循环在python中以十进制数作为步骤

for loop in python with decimal number as step

本问题已经有最佳答案,请猛点这里访问。

我想做一个这样的for循环:

1
2
for x in range(0, 1, 0.1):
    print(x)

显然,它抛出了这个错误:

Traceback (most recent call last):
File"", line 1, in
for i in range(0, 1, 0.1):
TypeError: 'float' object cannot be interpreted as an integer

所以在python 3.6中有一种方法可以用浮点来创建for循环?


使用numpy的arrange代替range:

1
2
3
import numpy as np
for x in np.arange(0, 1, 0.1):
    print(x)


为什么不划分一个整数并将其转换为浮点值呢?

1
2
for x in range(0, 10, 1):
    print(x/10)

这里,您的范围是0到10,然后将输出除以10得到一个浮点。