【Python】while文(ループ、繰り返し文、抜ける方法)書き方をご解説!

どーも Takeです。

この記事では、Python の 「while文」 をつかったループ文について解説します。

 

Python でコーディングする際、必ず取っていいほどループ文を書くことになります。

そんなときにこの記事を参考にぜひ while 文をマスターしていただければと思います。

 

この記事でわかること!
  1. while 文の基本的な書き方
  2. ループ文を途中で抜ける方法(break)
  3. ループ文を途中でスキップし、次の処理を行う方法(continue)
  4. while文の条件を満たさないときは「 else 」で処理分岐できる!
  5. 無限ループの書き方
  6. 無限ループでやらかした時(俺の処理は終わらねえ~!!)
  7. do while 文の書き方(Python には do while文がありません...)

 

スポンサーリンク

while 文の基本的な書き方

まずは基本的な書き方をご紹介します。

while 文は下記のように書くのが基本です。

 

while 文を書く場合、

  1. まず条件式をつくる
  2. 条件式を満たす場合の処理を書く

 

0 から 9 までの数字を表示させるソースコードです。

 

まず、変数i = 0 を定義し、i をループ文の中で print させつつインクリメント(1ずつ増やす、i+=1 の箇所)させています。

ループ文の条件式は「i < 10」であるため、「i が 10 より小さい数字の間、処理がループする(繰り返し実行される)」ということです。

 

実行結果は下記になります。

 

ここで注意がインクリメント忘れです。

これを忘れると「i」 がずっと0になり、while 条件式は i < 10 のため、無限ループしていまいます

 

ループ文を途中で抜ける方法(break)

つぎにループを途中で抜ける方法(break文)について説明します。

たとえば下記のようなソースコードがあるとします。

 

これは変数 i = 3 のときに「three」と表示させ処理を終了させることです。

break文は条件式「if」と組み合わせてことが多いですが、

「ある条件を満たした場合に処理を終了させたい!」というときには便利です。

 

ちなみに実行結果は下記のようになります。

 

ループ文を途中でスキップし、次の処理を行う方法(continue)

つぎにループ文を途中でスキップし、次の処理を行う方法(continue)について説明します。

 

私はプログラミング初心者だった時、「continueがよくわからん」となっていました。

これは「continueがないとき、あるとき」で比較すると簡単に理解できます。

 

まず「continue がないとき」のソースコードがあるとします。

 

これは「i = 3」のときに「three」の表示させた場合の例です。

特に continue 処理をしてないので、実行結果は下記のようになります。

 

まず「continue があるとき」のソースコードがあるとします。

 

これはさきほどの「continue がないとき」例に continue 処理を追加した場合の例です。

 

「i = 3」の条件を満たす場合、continue 処理を追加しているため、

continue 以下の処理はスキップされ、下記のように「3」を表示する処理がなくなります。

 

「continue」文を書く上での注意点として、無限ループにならないようにすることです。

 

例として示した 「continue」文はインクリメント(1ずつ増やす、i+=1 の箇所)より前に記載しているため、

「continue」文がインクリメント処理をスキップすると、変数「i」の値が変わらず、永遠にインクリメントされない場合があります。

 

while文の条件を満たさないときは「 else 」で処理分岐できる!

while 文が条件を満たさない場合、「else」で処理分岐もできます。

何言ってるかわからない方は下記をご覧ください。

 

これは変数「i」が 0 ~ 5 の間で print で表示させる処理をしています。

 

この処理を抜ける、つまり i = 6になった場合、while 文を抜けループ処理が終了しますが、

その際に「else」をつかうことで「終わり!」と表示させるように処理を分岐しています。

 

このように「else」をつかうことで while 文の処理の終了時の処理分岐することができます

 

無限ループの書き方

while 文で無限ループさせるためには、

下記のように「while True:」と書きます(True の「T」は大文字です)。

 

※ 上記は無限ループするため、実行させる場合は注意してください!!

 

無限ループでやらかした時(俺の処理は終わらねえ~!!)

while 文で書き間違えたりして無限ループする場合があります。

 

そのときはキーボード入力で下記コマンドを入力することで

処理を強制的に中断させることができます。

  • Windows ・・・ Ctrl + C
  • Mac ・・・ control + C

 

do while 文の書き方(Python には do while文がありません...)

「do while」文とは 「while」文とは若干異なる文法で、

「while」文は条件を満たす場合にループ処理しますが、

「do while」条件にかかわらず、必ず初回実行されます。

 

そのため、さまざまなプログラミング言語でつかわれることもありますが、

Python には「do while」文がありません。

 

ですので、どうしても「do while」を使いたい場合は下記のようにします。

  1. 必ず初回実行されるような条件式にする
  2. あえて無限ループにし、条件式で break 処理する

 

「必ず初回実行されるような条件式にする」は「そりゃそうやろ!

ってなると思うので、「あえて無限ループにし、条件式で break 処理する」を説明します。

 

下記ソースコードをご覧ください。

 

「while True:」は無限ループの記述方法ですが、これがあるかぎり必ず一回目の処理は実行されます。

 

そして「if」文の条件式をつかい処理を「break(途中終了)」させることで Python 版の「do while」文を実行できます。

 

最後に

いかがでしたでしょうか?

この記事では while 文の処理についてまとめました。

 

ループ文は必ず Python のコーディングをする上で必要な知識です。

この記事を参考にぜひ while 文をマスターできれば幸いです。

ではでは。

 

 

スポンサーリンク
おすすめの記事