Python

【Python】while文を使ったループ処理

この記事では、Pythonのwhile文の使い方について解説します。

while文は、条件式がTrueの間、ブロック内の処理を繰り返し実行します。なので、イテラブルを使ってループ処理するfor文とは異なった使い方ができます。

それでは、while文の使い方を見ていきましょう!

while文の使い方

while文は、以下のように使用します。

while 条件式:
    # 繰り返す処理

指定した条件式がTrueの間、ブロック内の処理が繰り返されます。先に条件式が評価されるため1度もブロック内が処理されないこともあります。

サンプル

以下のコードは、i3未満の間、繰り返し処理されます。

i = 0

while i < 3:
    print(i)
    i += 1

実行結果

0
1
2

処理をスキップする

while文のブロック内にcontinueを記述することで処理をスキップできます。以下のコードは、i3の時に処理をスキップしています。

i = 0

while i < 5:
    i += 1

    if i == 3:
        print('continue')
        continue
    print(i)

実行結果

1
2
continue
4
5

処理を中断する

while文のブロック内にbreakを記述することで処理を中断させることができます。以下のコードでは、i3になったら繰り返し処理が中断されます。

i = 0

while i < 5:
    i += 1

    if i == 3:
        print('break')
        break
    print(i)

実行結果

1
2
break

無限ループ

条件式に常にTrueな値を指定すると無限ループさせることができます。

実行すると無限にループしてしまうので、ターミナルやコマンドプロンプトから実行した場合は、Ctrl + Cで実行を中止しましょう!

以下のコードは、i1ずつ増やして、それを出力し続けるだけのプログラムです。実行すると物凄いスピードで値が増えていきます。

i = 0

while True:
    print(i)
    i += 1

途中で処理を終わらせたい場合には、breakを使います。

i = 0

while True:
    if i == 3:
        break
    print(i)
    i += 1

i3になった時にbreakが処理され、while文を抜け出します。

do...while文

ほかの言語でよく使われているdo...while文はPythonには存在しません。do...while文は、条件に関わらず必ず 1度は実行されるwhile文となっています。

Pythonでは、無限ループとbreakを組み合わせることで同じようなコードを実装できます。

while True:
    # なにかしらの処理
    if 条件式:
        break

例えば、以下のような感じで使います。

num = 1

while True:

    print(num)
    num += 1
    if num < 10:
        break

実行結果

1

まとめ

この記事では、Pythonのwhile文の使い方を解説しました!

for文はイテラブルオブジェクトを使ってループ処理しますが、while文は条件によってループ処理します。状況にあった方に使いましょう。

for文を使ってループ処理をする方法

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ