while文

while文

Pythonはfor文以外にwhile文が用意されています。

while文はfor文と異なりループ中処理の結果に応じて続行するか否かを制御することができます。

while文の基本

以下の書き方となります。

while 評価式:
while文
while 評価式:
    ループ内処理

サンプルで使い方を見てみましょう。

is_conti = True # ループ処理を続行するかどうかのフラグ

while is_conti:
    print('キーを入力してください')
    c = input()

    if c == 'end':
        is_conti = False
    else:
        print(c + 'が入力されました')

このプログラムではユーザーがendと入力するまで、キー入力を要求し続けます。

while-else

for文と同様、elseを使用することができます。ループ内の処理回数によらず、elseブロック内部の処理は必ず実行されます。

is_conti = input() # ループ処理を続行するかどうかのフラグ

while is_conti:
    print('キーを入力してください')
    c = input()

    if c == 'end':
        is_conti = False
    else:
        print(c + 'が入力されました')

else:
    print('処理を終了します')

このサンプルでは、最初の入力時に何も入力せずにエンターキーを押すと、ループ処理は行われませんが、elseブロックの処理は実行されます。

break

for文と同様、breakを使用することができます。ループを強制終了することができます。

これもfor文と同様、breakした場合はelseブロックの処理は実行されません。

is_conti = input() # ループ処理を続行するかどうかのフラグ

while is_conti:
    print('キーを入力してください')
    c = input()

    if c == 'end':
        break
    else:
        print(c + 'が入力されました')

else:
    print('処理を終了します')

このサンプルでは、ループ中でendを入力した場合、breakが呼び出され、その後elseブロックの処理が実行されないことを確認することができます。