【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 文をマスターできれば幸いです。

ではでは。

 

 

プログラミング学習、独学では難しくないですが?
  • プログラミングをどう勉強したらいいのかわからない
  • わかりにくい参考書が多く、自分一人では解決できそうにない
  • 壁にぶつかった時の解決策がわからない
そんな人にはプログラミングスクールtech boost」がおすすめです。

 
 

プログラミングスクールtech boost」の魅力
  1. オーダメイドの自分の目標にあったプランが受講できる!
  2. 現役エンジニアがあなたの学習を全力サポート!
  3. スクール卒業後のキャリアサポートも充実インターン/就職/転職/独立 など
  4. オリジナル Web アプリも作れるようになります!
  5. 近年トレンドの AI や IoT、ブロックチェーンも学習できます!
  6. 受講スタイル(通学かオンライン授業)も選択可能!

 

こんな人におすすめ!

  • 未経験からでもプログラミングをしっかり学びたい!

未経験からでも受講期間中にオリジナルサービス開発レベルまで全力でサポートします。

 

  • プログラミングを一人で学ぶことに限界を感じた!

未経験で一からプログラミング学習するには限界があります。

現役エンジニアがあなたの目標に沿った学習プランを提案してくれるので安心して学習できます。

 

  • 技術力をつけて、IT企業に就職やフリーランス、独立を目指したい!

卒業後のキャリアサポートも充実しているため、未経験からも IT 業界に参入できます。

 

悩んでいるなら、お気軽に無料説明会へ!

現役エンジニアの私がいいますが、IT 業界は圧倒的な人材不足です。

 

スクールは料金が高いからなあ」と悩まれている人もいると思いますが、

IT業界は仕事が有り余っているため、一度学べば速攻で資金回収できます。

 

もしプログラミング学習で悩んでいたり将来的に IT企業、フリーランスなどで働きたいのであれば、

プログラミングスクール「tech boost」へ無料相談だけでもいってみてはいかがでしょうか?

おすすめの記事