如何在Python中更好地控制循环增量?
我想从0循环到1,每次增加0.01(比如说)。我该怎么做呢?for i in range(start, stop, step)
这个写法只能用整数,所以不能直接用小数。
7 个回答
1
一种选择:
def drange(start, stop, step):
while start < stop:
yield start
start += step
用法:
for i in drange(0, 1, 0.01):
print i
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
31
for i in [float(j) / 100 for j in range(0, 100, 1)]:
print i
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。