2016-07-14 2 views
3

Это является прекращалось цикл:Как проверить, полностью ли завершен цикл в python?

for i in [1,2,3]: 
    print(i) 
    if i==3: 
     break 

Как я могу проверить свою разницу с этим:

for i in [1,2,3]: 
    print(i) 

Это идея:

IsBroken=False 
for i in [1,2,3]: 
    print(i) 
    if i==3: 
     IsBroken=True 
     break 
if IsBroken==True: 
    print("for loop was broken") 
+0

Я думаю, что ваша идея лучший. Предложение else в python запускается только тогда, когда цикл for не прерывается. Таким образом, обнаружение перерыва, вероятно, лучше всего сделано, как вы предлагаете. Идите вперед и поместите это в свой собственный ответ, если ничего лучше не появится. – rkh

ответ

10

for петля может принимать else который может служить этой цели:

for i in [1,2,3]: 
    print(i) 
    if i==3: 
     break 
else: 
    print("for loop was not broken") 
2

Цикл Python for имеет предложение else, которое вызывается, если цикл завершается.

Таким образом, это означало бы, что-то в строке

for i in [1,2,3]: 
    print(i) 
    if i==3: 
     break 
else: 
    print("Loop Ended without break") 

Если вместо этого вы должны обрабатывать как сценарий, используя исключение для контроля последовательности также является жизнеспособной альтернативой

try: 
    for i in [1,2,3]: 
     print(i) 
     if i==3: 
      raise StopIteration 
except StopIteration: 
    print ("Loop was broken") 
else: 
    print ("Loop was not broken") 
Смежные вопросы