2010-11-22 12 views
1

Wie kann ich eine boolesche Prüfung zu einer for-Schleife hinzufügen? Ich habe versucht, etwas wie folgt:Python 3.1 boolesche Prüfung mit for-Schleife

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

Es gibt mir den Fehler 'bool' Objekt ist nicht iterierbar. Danke für die Hilfe.

Antwort

7

Dies ist keine for-Schleife wie in C; Was Sie hier tun, ist ein Bereichsobjekt zu erstellen und dabei über jedes Element (mit dem Namen "i") zu iterieren. In C können Sie mehrere Überprüfungen während einer Iteration einer Schleife durchführen, in Python iterieren Sie jedoch über iterierbare Objekte wie Listen oder Tupel.

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

Grundsätzlich können Sie nicht ein Flag setzen, um die Schleife zu stoppen, weil die „Schleife“ über den gesamten Bereich Objekt iteriert wird. Die einzige Möglichkeit, ein "Stopp-Flag" hinzuzufügen, ist break außerhalb der Schleife.

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

oder sogar

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

Möglicherweise möchten Sie 'anderes hinzuzufügen: break' zu das auch. – Lizzan

+0

Danke für die schnelle Antwort. – Pinsickle

+0

@ Pinsickle: Kein Problem. Wenn meine Antwort Ihr Problem gelöst hat, klicken Sie auf das große Kontrollkästchen, um es als Antwort zu akzeptieren. – Zeke