ホームページ >バックエンド開発 >Python チュートリアル >Python で Do While ループをシミュレートし、イテレータを処理するにはどうすればよいですか?

Python で Do While ループをシミュレートし、イテレータを処理するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-19 19:03:031089ブラウズ

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

Python での Do-while ループのエミュレーション

Python では、do-while ループはネイティブにサポートされていません。ただし、同様の機能を実現する方法はいくつかあります。

1 つの方法は、以下に示すように while True ループを使用することです。

while True:
  # Execute loop body
  if break_condition:
    break

代わりに、while ループを使用することもできます。 if ステートメントにより、ブレーク条件をチェックする前にループ本体を実行します:

# Execute loop body
if not break_condition:
  continue

StopIteration の処理Exception

リストまたは反復可能オブジェクトを反復処理するときに発生する StopIteration 例外を正しく処理するには、try-Exception ブロックを使用します。

iterator = list_of_ints.__iter__()
element = None

while True:
  try:
    element = iterator.next()
  except StopIteration:
    break

  print(element)

ステート マシンのエミュレーション

提供された例では、ステート マシンは do-while ループを使用して実装されています。これを Python でエミュレートするには、条件付きブレーク ステートメントを含むループを使用できます。

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

以上がPython で Do While ループをシミュレートし、イテレータを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。