如何退出嵌套在 for 循环中的 while 循环
How to exit a while loop nested in a for loop
我想这应该很简单。代码的第一部分是初始化变量。我的问题是 while 循环。如果条件j == len(time)
成立,我需要退出WHILE循环和FOR循环。但问题是,一旦条件为真,while 循环就会再次迭代;因此,时间超出了索引。
import numpy as np
# Variables to initialize the problem
timeframe = 25
dt=0.025
dat=[(0, 5)]
dat.append((timeframe,dat[len(dat)-1][-1]))
time = np.arange(dat[0][0],dat[-1][0]+dt,dt)
dat_discretized = np.zeros(len(time))
#While inside a for loop
j=0
for i in range(len(dat)):
while dat[i][0] <= time[j] <= dat[i+1][0]:
dat_discretized[j] = dat[i][1]
j += 1
print(j)
if j == len(time):
break
如何在不重新检查 while 条件的情况下存在 while 循环?
for i in range(len(dat)):
breakFor=false
while dat[i][0] <= time[j] <= dat[i+1][0]:
dat_discretized[j] = dat[i][1]
j += 1
print(j)
if j == len(time):
breakFor=true
break
if breakFor:
break
我想这应该很简单。代码的第一部分是初始化变量。我的问题是 while 循环。如果条件j == len(time)
成立,我需要退出WHILE循环和FOR循环。但问题是,一旦条件为真,while 循环就会再次迭代;因此,时间超出了索引。
import numpy as np
# Variables to initialize the problem
timeframe = 25
dt=0.025
dat=[(0, 5)]
dat.append((timeframe,dat[len(dat)-1][-1]))
time = np.arange(dat[0][0],dat[-1][0]+dt,dt)
dat_discretized = np.zeros(len(time))
#While inside a for loop
j=0
for i in range(len(dat)):
while dat[i][0] <= time[j] <= dat[i+1][0]:
dat_discretized[j] = dat[i][1]
j += 1
print(j)
if j == len(time):
break
如何在不重新检查 while 条件的情况下存在 while 循环?
for i in range(len(dat)):
breakFor=false
while dat[i][0] <= time[j] <= dat[i+1][0]:
dat_discretized[j] = dat[i][1]
j += 1
print(j)
if j == len(time):
breakFor=true
break
if breakFor:
break