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