Emulieren von Do-While-Schleifen in Python
In Python wird eine Do-While-Schleife nicht nativ unterstützt. Es gibt jedoch mehrere Methoden, um eine ähnliche Funktionalität zu erreichen.
Ein Ansatz besteht darin, eine while-True-Schleife zu verwenden, wie unten gezeigt:
while True: # Execute loop body if break_condition: break
Alternativ können Sie eine gefolgte while-Schleife verwenden durch eine if-Anweisung, um den Schleifenkörper auszuführen, bevor die Unterbrechungsbedingung überprüft wird:
# Execute loop body if not break_condition: continue
Behandlung der StopIteration-Ausnahme
Um die StopIteration-Ausnahme, die beim Durchlaufen ausgelöst wird, korrekt zu behandeln B. eine Liste oder iterierbar, verwenden Sie einen Try-Except-Block:
iterator = list_of_ints.__iter__() element = None while True: try: element = iterator.next() except StopIteration: break print(element)
Emulieren einer Zustandsmaschine
Im bereitgestellten Beispiel wurde eine Zustandsmaschine mithilfe eines do implementiert -while-Schleife. Um dies in Python zu emulieren, können Sie Schleifen mit bedingten Break-Anweisungen verwenden:
while True: if state == STATE_CODE: if "//" in s: tokens.add(TOKEN_COMMENT, s.split( "//" )[1]) state = STATE_COMMENT else: tokens.add(TOKEN_CODE, s) if state == STATE_COMMENT: if "//" in s: tokens.append(TOKEN_COMMENT, s.split( "//" )[1]) state = STATE_CODE else: # Re-evaluate same line continue try: s = i.next() except StopIteration: break
Das obige ist der detaillierte Inhalt vonWie kann ich Do-While-Schleifen simulieren und Iteratoren in Python verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!