Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでdo-whileループをエミュレートする方法

Pythonには、C/C++やJavaに存在するようなdo-whileループに相当する構文は用意されていません。

do-whileループの本質的な特徴は、ループ条件がループ本体の実行後に評価されるという点にあります。つまり、条件が最初から偽であっても、ループ本体は必ず1回は実行されることになります。

Pythonでは、フラグ変数とwhile文を組み合わせることで、この動作を簡単に再現(エミュレート)できます。以下にその例を示します。

サンプルコード

condition = True
x = 0
while condition == True:
    x = x + 1
    print(x)
    if x >= 5:
        condition = False

コードの解説

  • まずフラグ変数 conditionTrue に設定し、ループが少なくとも1回は実行されるようにします。
  • ループ本体の中で処理を実行した後、条件判定を行い、終了条件を満たした時点でフラグを False に変更します。
  • これにより、条件チェックがループ本体の「後」に行われるdo-whileと同じ挙動になります。

実行結果

1
2
3
4
5

このように、変数 x の値が5になるまでループが継続され、do-whileループと同等の動作が実現できています。

補足:breakを使った別の書き方

より簡潔に書きたい場合は、break 文を利用する方法もあります。

x = 0
while True:
    x = x + 1
    print(x)
    if x >= 5:
        break

while True で無限ループを作り、ループ本体の最後で条件を判定して break で抜けることで、同様にdo-whileの挙動をエミュレートできます。どちらの方法でも目的は達成できますので、コードの可読性や文脈に応じて使い分けるとよいでしょう。

  1. PythonのforループでTkinterボタンを作成する方法

    TkinterのButtonウィジェットは、アプリケーションの実行中にイベントを処理し、さまざまなアクションを実行するうえで非常に便利な機能です。Tkinterのボタンは、Button(parent, text, option...) コンストラクタを使用して作成できます。このコンストラクタを活用することで、ループ処理の中で複数のボタンを効率的に生成することも可能です。 サンプルコード 以下の例では、Pythonの for ループを使用して、指定した範囲内に複数のボタンを作成します。 #必要なライブラリをインポート from tkinter import * from tkinter imp

  2. Pythonでパターンを出力する方法|三角形・数字・アルファベット・ピラミッドのコード例

    Pythonでパターンを出力するには、ネストされた(入れ子構造の)forループを使用します。外側のループで行数を制御し、内側のループで列数を処理します。そしてprint文を工夫することで、目的に応じたさまざまなパターンを作成できます。パターンには、星(アスタリスク)パターン、数字パターン、アルファベットパターンなどがあり、三角形やピラミッドなど、さまざまな形状にも対応できます。パターン出力の基本これらのパターンは、print文を少し変更しながらforループを組み合わせることで出力できます。基本的な考え方はどのパターンも共通しており、違いはごくわずかです。ここからは、代表的なパターンのコードを実