【发布时间】:2019-10-05 14:13:10
【问题描述】:
我的项目中有这个嵌套循环(当然它要复杂得多,我只是简化了它,以便您明白我的意思)。我知道python中没有label和goto,我只是想显示我想做的事情。
从#goto third 行我想回到可以看到#label third 的地方。
我尝试了不同的循环设置,但它们从不做我想做的事情
import time
onoff = "on"
t=0
while onoff == "on":
#label first
for x in range (5):
print("first loop")
time.sleep(1)
for y in range (5):
print("second loop")
time.sleep(1)
p = 0 #for testing
t=0 #for testing
if p != 5:
if t == 0:
print("third loop")
time.sleep(1)
p2 = 5 #for testing
t=0
if p2 != 5: #label third
if t == 0:
print("go back to first loop")
time.sleep(1)
#goto first
else:
print("lock")
#lock.acquire()
else:
if t == 0:
print("go back to third loop")
p2 = 3
time.sleep(1)
#goto third
else:
print("lock")
#lock.acquire()
else:
print("lock")
#lock.acquire()
这个嵌套循环中的每条路径似乎都可以正常工作,但我希望我的循环从#goto third 返回到#label third,然后它首先返回到#label。如何更改循环以使其成为可能?
【问题讨论】:
-
当每个 x 完成
for y in range(5)循环时,它最终必须从goto third变为label first。如果您想要更多循环控制,那么我建议使用while而不是for
标签: python-3.x loops nested-loops