如何在Python中更好地控制循环增量?

eff*_*iss 21 python syntax

我试图使用0.01的步长(例如)从0循环到1.我该怎么做呢?该for i in range(start, stop, step)只需要整数参数,以便花车将无法正常工作.

San*_*nta 25

for i in [float(j) / 100 for j in range(0, 100, 1)]:
    print i
Run Code Online (Sandbox Code Playgroud)

  • 如果您想要 0.00 到 1.00(含),请使用:`range(0, 101, 1)`。 (2认同)

Wom*_*tPM 6

避免使用这种方法复合浮点错误。步数与预期一致,同时计算每个步的值。

def 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
Run Code Online (Sandbox Code Playgroud)