Pythonのwhile文の使い方と基本的な考え方

Pythonのwhile文の仕組みと考え方の基本をわかりやすく解説

Pythonのwhile文について、その使い方と基本的な考え方について解説します。

while文の文法

while文の基本的な文法は次のような形式をとります。

while 条件式:
    条件式が真(True)の場合の処理

では簡単な具体例を見ていきましょう。次の項目を見てください。

具体例

a=1

while a<10:
    a=a*2

print(a)

ものすごく単純なコードですが、上から順番に説明していきます。

a=1

まずは変数aに1を代入します。

while a<10:
    a=a*2

これは次のようなパーツ構成となっています。

条件式a<10
処理a=a*2

今、a=1ですが、これはa<10という条件を満たしますね。そこでまずこの条件式が評価されて真(True)が返ってきます(画面には出ませんが)。

そして真(True)の場合に、a=a*2という処理が開始されます。

具体的にaの値がどのように変化していくのかを書いていきます。

ステップ aの値 条件式 条件式の評価 処理 処理後のaの値
1(はじまり)11<10真(True)a=1*22
222<10真(True)a=2*24
344<10真(True)a=4*28
488<10真(True)a=8*216
51616<10偽(False)a=16*232

ご覧のとおり今回のコードは数学的にいえば「2の階乗」を作るコードです。2の1乗が1、2の2乗が4・・・という感じですね。

このステップ5(つまり5回目)の条件式の評価に着目してください。偽(False)になっていますね。これは「16」が「10」よりも大きくなってしまうからです。

この場合はwhile文は実行されません。したがって今回のwhile文は1~4までのステップ(回数)でその実行が止まります。

以上のことから、

print(a)

を実行すると、「16」という数字が画面に出力されます。下の画像はWindowsのコマンドプロンプト上で今回のコードを実行した結果です。ちゃんと16が出力されていますね。

pythonのwhile文をコマンドプロンプトで実行

稼げるプログラミングスキルを手に入れるために

Tech Academy

厚切りジェイソンのCMでおなじみのプログラミングスクール。自宅でオンライン受講OK。現役のプロが一人一人に専属メンターになってくれ、質問すればすぐに回答。転職保証あり

Udemy

世界最大級のオンライン学習動画サービス。AI・データサイエンスなど最先端のプログラミング講座からビジネススキル講座まで10万以上の講座から選び放題。講師に掲示板から直接に質問もできる。