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

Patricia Arquette
リリース: 2024-11-19 19:03:03
オリジナル
977 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート