用于计算的内循环和用于在Python

时间:2015-11-26 10:03:43

标签: python loops for-loop

我想创建一个例程,在一定量的迭代后保存ODE集成的结果。也就是说,例程将收到start时间,finish时间,step变量大小和dt的变量。 dt是内循环中时间步长的变量,step是外循环的时间步长 - 在每step次之后我想保存结果,并且在startfinish之间执行此操作。我使用了这个例程,但看起来有些不对劲 - 有时它表明它会在一个step大小之后保存结果,有时会在step + dt之后保存:

import numpy as np

start = 0
finish = 10
step = 1
dt = 0.1
time_elapsed = start
for tout in np.arange(start+step,finish+step,step):
    while time_elapsed < tout:
        time_elapsed+=dt
        print "time step ", time_elapsed
    print "Outer_loop time ", time_elapsed

有人可以发现这个错误吗?此外,任何聪明的想法我怎么能只使用for循环?

1 个答案:

答案 0 :(得分:1)

您可以检查步骤的迭代,检查范围,例如下面:

for i in xrange(start, finish):
    #do generic code
    if i % step: #check if the iteration is a step
         #do the step code you need