[英]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.