2010-11-22 3 views
1

Как добавить булевскую проверку в цикл for? Я пытался что-то вроде этого:python 3.1 boolean check with for loop

for i in range (0, someNumber) and keepGoing == True 

Это дает мне ошибку. Объект 'bool' не повторим. Спасибо за помощь.

ответ

7

Это не для цикла, как в C; то, что вы делаете здесь, это создание объекта диапазона и повторение каждого элемента в нем (именования «i») в этом процессе. В C вы можете иметь несколько проверок во время итерации цикла, но в Python вы перебираете итерируемые объекты, такие как списки или кортежи.

for i in range(0, someNumber): 
    if keepGoing: 
     # Code 

В принципе, вы не можете установить флаг, чтобы остановить цикл, потому что «петля» будет перебирать объект всего диапазона. Единственный способ добавить флаг остановки - break вне цикла.

for i in range(0, someNumber): 
    if not keepGoing: 
     break 
    else: 
     # Code 

или даже

for i in range(0, someNumber): 
    if not keepGoing: 
     break 
    # Code 
+0

Вы можете добавить 'еще: break' к тому, что, как хорошо. – Lizzan

+0

Спасибо за быстрый ответ. – Pinsickle

+0

@Pinsickle: Без проблем. Если мой ответ решил вашу проблему, нажмите большой флажок, чтобы принять его как ответ. – Zeke