【初心者必見】Pythonのwhile文の特徴や使い方を徹底解説!

while文による繰り返しは、条件を指定してその条件が真の間は繰り返し処理が実行できるものです。

今回はプログラミングを学ぶにおいて、避けては通れないwhile文による繰り返し処理について解説したいと思います。


【基礎】while文とは
【基礎】for文との違いとは
【基礎】while文の使い方
【発展】while文の中でif-else文、break文を使う方法
【発展】無限ループを抜ける方法

繰り返し処理の中でもwhile文は基本中の基本なのでぜひ覚えておきましょう。

※ この記事のコードはPython 3.7, Ubuntu 18.04で動作確認しました。

while文とは

while文は、繰り返しが必要な処理をするための構文です。

for文との違い

Pythonの繰り返し処理にはfor文もあります。

for文は回数を指定して、指定した回数のループが完了すればループを抜けます。

一方while文は、条件を指定して、その条件がFalseになればループを抜けます。

つまり条件がTrueの間、ループ処理を続けるのがwhile文です。

for文とwhile文のそれぞれで、何を基準にループをしているのかが分かれば、while文をfor文に、またその逆の変換も出来ますね。

for文の使い方についてはこちらの記事をご覧ください。

【Python入門】for文による繰り返し処理まとめ
更新日 : 2019年7月1日

while文の使い方

それでは早速、while文を使ってみましょう。

while文の基本的な使い方

while文の基本的な構文はこのようになります。

3回文章を表示させたい場合はこちらのようにコードを書きます。

実行結果

こちらのコードでは、Hello world!という文章を3回続けて表示させてみました。

while文の条件は「変数iが3未満の場合」と設定しました。

変数iは0に初期化されています。

その為、一回目のループでは条件を満たしています。

条件を満たしていれば、whileブロックに突入します。

文章を出力した後に変数iに1が足され、これをインクリメントと呼びます。

そしてまた、whileブロックの最初に戻ります。

変数iの値が3になると、while文の条件が満たされません。

その為、whileブロックには入らず、繰り返し処理が正常に終了します。

while文とif-else文を組み合わせてみよう

これまでは簡単なwhile文ご紹介しましたが、while文の中にif-else文などを組み合わせることも出来るのです。

こちらのコードをご覧ください。

実行結果

上のコードでは、while文にシンプルなif-else文を含ませてみました。

while文は変数iが10未満の場合作動します。

そしてその変数iの値が2で割り切れる場合はその値を出力、そうでなければoddという文字列を出力します。

このようにwhile文内にも細かく条件を指定することも可能です。

while文の中でbreakを使ってブロックから抜けよう

今までご紹介したwhile文のサンプルコードでは、whileブロックから抜けるということはwhile文の条件が満たされなくなる、ということだとお伝えしました。

しかし、break文を使用して処理の途中でwhileブロックから抜けることが可能なんです。

こちらのコードをご覧ください。

実行結果

上のコードは、変数iが10未満の場合には値が出力される仕組みになっています。

しかし、変数iの値が3になるとbreak文が発動するので、実際に処理は3回目で止まってしまいました。

このように、break文はループの終了条件が多数存在する場合などに便利ですね。

無限ループから抜ける方法

無限ループとは、while文の条件が満たされ続ける為、永遠に繰り返される処理のことです。

上のコードでは、条件式がTrueというbool値に設定されています。

その為、「Hello!」という文字列は永遠に出力され続けます。

このようなループに入った場合、WindowsとMac両方で「Ctrl + C」をキーボードで押してプログラムを強制終了させることが出来ます。

このような無限ループから抜けるには、break文を使用しましょう。

以下のコードをご覧ください。

上のコードでは、先ほどのコードにbreak文を足してループから抜けるように設定しました。

変数iは1に初期化されているので、5回目までは正常に無限ループが作動し、「Hello!」が繰り返し表示されます。

しかし、変数iの値が5より大きくなるとbreak文が作動してループから抜ける事が出来ます。

まとめ

今回はwhile文を使用した基本的な繰り返し処理を行う方法をご紹介しました。

ぜひ覚えておいてほしいポイントは

・while文はとっても便利!if‐else文なども含めて色々活用しよう!
・for文はwhile文に簡単に変換できる!
・break文でwhileブロックから簡単に抜けよう

こんな感じですね。

皆さんもこの記事を通してwhile文をはじめ、繰り返し処理に関する知識をどんどん深めて行ってくださいね。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Kotono

Kotono

イタリア在住15年目の22歳です。イタリアの大学で情報科学&応用数学を学んでいます。主にJavaScriptやPythonについての記事を書いたりしています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説