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