我想循环从0到1,步长为0.01(例如)。我该如何做? for i in range(start, stop, step)
只接受整数参数,所以浮点数不适用。
for i in [float(j) / 100 for j in range(0, 100, 1)]:
print i
range
返回的最后一个值是99而不是100。 - Asclepiusrange(0, 101, 1)
。 - Santafor i in (float(j) / 100 for j in range(100)):
-- 这会创建一个惰性生成器而不是在开始循环之前构建整个列表。 - user4698348def drange2(start, stop, step):
numelements = int((stop-start)/float(step))
for i in range(numelements+1):
yield start + i*step
Usage:
for i in drange2(0, 1, 0.01):
print i
def drange(start, stop, step):
while start < stop:
yield start
start += step
使用方法:
for i in drange(0, 1, 0.01):
print i
list(drange(0,10,1))
看起来的行为类似于 range
:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
,但 list(drange(0,1,0.1))
给出了额外的一个元素:[0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 0.9999999999999999]
。 - Duncanprint([i for i in [float(j) / 100 for j in range(0, 100, 1)]])
如果您想控制打印,可以按照以下方式进行操作:
print(['something {} something'.format(i) for i in [float(j) / 100 for j in range(0, 100, 1)]])
或者
list(i for i in [float(j) / 100 for j in range(0, 100, 1)])
Start = -2
End = 2
Increment = 0.25
Array = np.arange(Start, End, Increment)
for i in range(0, Array.size):
print (Array[i])
嗯,你可以让循环从0到100,步长为1,这将给你相同数量的步骤。然后,你可以将i除以100,用于你想要做的任何操作。
你的代码
for i in range(0,100,0.01):
for i in range(0,10000,1):
如果您非常关注浮点数,那么可以使用https://dev59.com/3m445IYBdhLWcg3wTIjm#4935466。
dec = float(i)/100
,如果您仍然想要小数值。 - Ifan Iqbal