Python 条件分岐 繰り返し while文

python

  【Python】while文の使い方について【繰り返し構文の基本】

2019年12月31日

こんにちは。

 

今回は制御構文のうちwhile文やbreak, continue の基本に関する内容を学習します。

 

本題に入る前に、これまでの学習の流れにについてのまとめです。

これまでの学習の流れです。

四則演算数値列文字列についてまとめた記事については、以下の記事を参照ください。

STEP 1
python コード サンプル 覚え書き
【Python】数値と文字列について【初心者向け】

続きを見る

変数・論理値・演算子については以下の記事をご参照ください。

STEP 2
python コード サンプル 覚え書き
【Python】変数・論理値・演算子について【初心者向け】

続きを見る

関数の基本については以下の記事をご参照ください。

STEP 3
python コード サンプル
【Python】関数の基本について【初心者向け】

続きを見る

オブジェクトとメソッドの使い方については以下の記事をご参照ください。

STEP 4
python コード サンプル
【Python】オブジェクトとメソッドについて【初心者向け】

続きを見る

if, elif, else文【制御構文】の使い方については以下の記事をご参照ください。

STEP 5
Python 条件分岐 if文
【Python】制御構文・条件分岐の基本について【動画・画像付きで解説】

続きを見る

 

今回は繰り返しの動作を行う構文について学習していきます。

 

まず初めに、たとえば、数字の 10 から 20 までを連続して表示したいとします。

 

このとき、入力するプログラムの1例としては以下のものがあります。

In[]

これでも実行できるですが、少し面倒臭いですよね。

 

そこで利用するのが、while文やfor文となります。

 

 本記事での学習内容

  • while文について
  • 無限ループを避ける方法
  • breakの使い方
  • continueの使い方

 

それでは早速見ていきましょう。

繰り返し構文について

Python 条件分岐 繰り返し while文

 

上記で記載したプログラムの様な記述の仕方でも良いかもしれませんが、かなりメンドウです。

 

特定の条件式を満たす間だけ、同じ処理を繰り返す

10回のみ、同様の処理を繰り返す

というように記述した方が圧倒的に楽に記述できます。


例えばイメージとしては、以下の様な図の形式です。Python 条件分岐 繰り返し while文
こういった記述をするには while や for という文を使います。

while文

Python 条件分岐 繰り返し while文

while文を理解する為に有益な動画教材


まずは動画でさらっと解説を聞いてから学習していきましょう。(もちろん、この記事で学習した後に視聴しても理解が更に深まります。)

 

制御構文(while文)|中学生でもわかるPython入門シリーズ

「中学生でもわかる〜」でおなじみ、いまにゅ先生のシリーズです。

 

初心者向けにwhile文について非常に分かりやすく解説して下さってますね。

制御構文(break文・continue文) | 中学生でもわかるPython入門シリーズ

こちらは今回の記事で学習するbreak文continue文についての解説動画です。併せて見ていきましょう。

Python Tutorial for Beginners | While Loop in Python


Telskoさんのチャンネルです。

 

while文についてまとめて解説して下さっています。

Python Tutorial for Beginners | Break Continue Pass in Python


breakの詳しい使い方はこちらで解説して下さっています。

 

while文の概要について

最初に while 文について学習していきましょう。


while 文は if と同様に「ある条件式を満たす間だけ」処理を繰り返し実行します。それでは実際にcodeを書いてみましょう。

In[]

こちらは実際の実行画面です。


Python 条件分岐 繰り返し while文










このとおり、if の使い方とほぼ変わりません。

 

while (条件式): と記述することは「条件式を満たす間」という意味を持ちます。

 

そして、繰り返したい命令にインデントをつけてください。(これも if と使い方は同じですね。)

Python 条件分岐 繰り返し while文

無限ループとは

while の条件式を、間違えて次のように記述してしまった際に起きるのが無限ループです。

 

例えばこの様なコードになります。(実行はしないでください!!)


実行画面は以下の様になります(スクロールすると無限に下に続きます。)



Python 条件分岐 繰り返し while文

 

 

 













条件式が i >= 10 となっていますが、このプログラムにおいて変数 i の中身が 10 を下回ることは無いですよね。

 

そのため永遠と繰り返しの処理が実行されてしまい、いつまでもプログラムが終了しない状況におちいります。

 

このような状態を 無限ループ と言います。while文などの繰り返し処理を実装する際は無限ループにならないように、気をつけてcodeを記述してください

 

ミスして無限ループの状態で実行してしまった場合には control +c(Windowsの方は Ctrl + c)を押すことで処理が止まります。

覚えておいてください。

breakの使い方について

上の解説では「無限ループにならない様に注意をしましょう」と記載しましたが、while True: というように条件式の部分を True とだけ記述することで、意図的に無限ループにすることもあります。

 

その場合は、繰り返し処理の中で if を記述して「特定の条件を満たすときに繰り返し処理を終了」させる必要があります。

 

その際に使用するのが break です。

 

それでは実際に実行してみましょう。

In[]


以下が実行画面です。


Python 条件分岐 繰り返し while文











 

 

ループの中で、条件式を i >= 10 とする if を記述し、その条件式が満たされるときに break が実行されます。

 

break は繰り返し処理を強制終了するという命令です。

 

break が実行されると、その下にあって、なおかつ while の通用範囲にある print(i) は実行されません。

 

すなわち、while の通用範囲の下にある print() で「処理を終了します」を表示させます。具体的には以下の図の様なイメージです。

continue の使い方について

break に似ているのですが continue という文の使い方を学習しましょう。

 

continue は繰り返し処理の最初に戻すという命令です。

 

実際にcodeを書いてみましょう。

In[]


以下実行結果です。

 

Python 条件分岐 繰り返し while文












 

もうひとつ if を追加しましたね。

 

2つ目の if では i % 2 == 1 (i の中身を2で割った余りが1、つまり i の中身が奇数かどうか)を調べています。

 

これを満たす場合に continue が実行され、その下にある print(i) を無視して繰り返し処理の最初に戻り、i += 2 を実行します。

 

その結果、画面には 1 から 30 までの「偶数」だけが表示されることになります。具体的には以下の様なイメージです。

Python 条件分岐 繰り返し while文

制御構文の課題|復習

Python 条件分岐 繰り返し while文

 

今回はwhile文、break、continueの使い方について学習しました。

 

制御構文の使い方については少しまとまりましたでしょうか。


ここで、もう一度この課題に取り組んでみて下さい。理解が更に深まると思います。

STEP 5
Python 条件分岐 if文
【Python】制御構文・条件分岐の基本について【動画・画像付きで解説】

続きを見る


-python
-, ,

Copyright© Tommy blog  , 2020 All Rights Reserved.