簡體   English   中英

Python中斷循環

[英]Python break for loop

我是Python新手,但我認為保留字在編程中必須具有相似的含義。 不過,我不知道為什么break第二內if-condition打破2 for-loop

我想檢查列表是否為空,所以我使用while-loop 假設newList仍然具有元素,它將保留在loop2 但是,在con2 break之后,即使newList仍然具有element,它也會直接進入loop1

while list:
    print ("loop1")
    result = 'n'
    for e in list:
        print ("loop2")
        result = 'n'
        for h in longList:
            print ("loop3")
            for i in e.getList():
                print ("loop4")
                if (i == h.getId()):
                    print ("con1")
                    result = 'y'
                    break
            if (result == 'y'):
                print ("con2")
                break

您的break語句正在從兩個循環中中斷,因為如果您在執行第一個break語句之前就先看一下,則會將值y分配給變量result 從第一個循環break后,要測試的下一行是if (result == 'y'):然后再次break

while newList:
    print ("loop1")
    result = 'n'
    for node in newList:
        print ("loop2")
        result = 'n'
        for parent in parents:
            print ("loop3")
            for neighbourId in node.getNeighbours():
                print ("loop4")
                if (neighbourId == parent.getId()):
                    print ("con1")
                    result = 'y' # assignment
                    break # first break
            if (result == 'y'): # occurs after the first break and will be true
                print ("con2")
                break # second break
    else:
         print('This loop was not terminated with a break statement')
else:
   print('while loop ended')

更新:在Python中,您可以在循環中添加else子句,而else子句僅在循環已完全執行(即從未到達break語句)的情況下運行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM