反復処理はプログラミングにおけるとても強力な機能で、与えられた処理を繰り返します。
けして難しくはないのですが、プログラミングの初心者がちょっとつまずいたり、分かりにくいと感じたりする部分かもしれません。
Pythonの学習の中ではとても重要なところですので、しっかり覚えておきましょう。
forループ
文字列やリストなど、繰り返し処理で要素を順番に取り出すことができるもの(イテラブル)から要素を取り出して処理を行うことができます。
for 変数名 in 文字列等(イテラブル): ※末尾にコロン
処理(ループごとに1回実行)
変数名は慣例的にリストの単数形にすることが多いです。
for文の中で行う処理を記述する際はインデントを忘れないようにしてください。
文字列でも一緒ですね。
応用するとこんな処理ができます。
リストの要素が順番に変数(animal)に代入されて、その後の処理(print)を実行しているのが分かりますでしょうか?
whileループ
for文が順番に処理を繰り返すのに対して、while分は「条件に当てはまる間(条件式がTrueの間)」処理を繰り返します。
コロンとインデントが必要なのはfor文と同じです。
上の例では処理ごとにxに1を足していき、xが10になるまで出力するというプログラムです。
この「x += 1」を忘れると、いつまでたってもxは1のままなので、永久に1が出力されてしまいます(無限ループ)。値の更新を忘れないようにしましょう。
break
breakは繰り返し処理の途中で強制終了させることができます。条件分岐と組み合わせて利用します。
下記はanimalsのリストの要素を順番に取り出して、mouseが見つかったところで終了させています。ですのでcowは出力されません。
continue
continueは条件に当てはまったときだけ、そのループの処理をスキップします。
下記の例ではリストの要素を順番に出力し、humanのときだけスキップさせています。
continueの位置に注意してください。breakのときはprint(出力)のあとに記述していますが、continueではprint(出力)の前に記述しています。
プログラムは上から順に処理をしていきますので、printの前に記述しないと、humanが出力されてしまいます。
反復処理のまとめ
反復処理の基本を解説してまいりました。いろいろな使い方ができますので、簡単なコードを何回も書いてみてください。
これらの例はすべてPythonに自動的についてくるシンプルなIDEであるIDLEを使用しています。ぜひ参考にしてみてください。
- for文は、文字列やリストなど、繰り返し処理で要素を順番に取り出す
- while分は、条件に当てはまる間(条件式がTrueの間)」処理を繰り返す
- breakは、繰り返し処理の途中で強制終了させる。条件分岐と組み合わせて使う
- continueは、条件に当てはまったときだけ、そのループの処理をスキップ