[英]Go back to a broken loop in python
在python中留下一个循环有2种不同的选项。 continue,它会让你回到循环的开头,而break就像一个灯开关,它会在脚本运行的剩余时间内切断循环。 我的问题是我有一段时间的True循环,我希望能够突破它,然后在代码中稍后返回它。 这是可能的,如果是的话,我该怎么做? 到目前为止,我有这样的事情:
while True
if #condition:
#do something
else:
#do something
break
while True
if #condition:
#do something
else:
break
#code that returns it to the first loop
有没有办法做到这一点,如破裂或什么? 对不起,我是编程新手,这是我在计算机科学的第一年,我刚开始学习python。
你可以把第一个循环放在一个函数中。
def first_loop():
while True:
if something:
# do something
else:
break
# call loop for first time
first_loop()
while True:
if something:
#do something
else:
break
# return back to the loop
first_loop()
你不能打破循环,然后返回它。
嗯......你可能会,但这需要使用臭名昭着的'goto'关键字...你应该不惜一切代价避免这种情况。
通常情况下,当你想要做某事时,停止这样做,然后再做一遍,你把那个“东西”放到一个函数或过程中。 然后,每当你想要做某事时,你就可以调用或运行该函数。
def doSomething():
while True
if #condition:
#do something
else:
#do something
break
def doSomethingElse():
while True
if #condition:
#do something
else:
break
def doOneMoreThing():
while True
if #condition:
#do something
else:
break
然后你可以按照你想要的任何顺序重复这些事情:
doSomething()
doSomethingElse()
doSomething()
doSomething()
doOneMoreThing()
你应该简单地将循环包装在函数中:
def loop1():
while True
if #condition:
#do something
else:
#do something
break
def loop2():
while True
if #condition:
#do something
else:
break
loop1()
loop2()
loop1()
只需换行另一个循环:
while True # outer loop
while True # first loop
if #condition:
#do something
else:
#do something
break
while True # second loop
if #condition:
#do something
else:
break
# break from outer loop
# when you are done returning to the first loop
我认为你应该反过来。 没有必要打破无限循环。 只需制作一些功能并在它们之间切换
def function1():
do something
def function2():
do something else
while True:
if something:
function1()
else:
function2()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.