Wie kann ich Do-While-Schleifen simulieren und Iteratoren in Python verarbeiten?

Patricia Arquette
Freigeben: 2024-11-19 19:03:03
Original
977 Leute haben es durchsucht

How Can I Simulate Do-While Loops and Handle Iterators in Python?

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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)
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage