Pythonのループ処理(繰り返し)には、for文とwhile文の2種類があります。
今回はそれぞれのループ文の使い方をみていきましょう。
for文の使い方
for文はリストオブジェクトから順番に値を取り出して変数に格納し、リストオブジェクトの要素がなくなるまで処理を繰り返します。
Pythonでは[1, 2, 3, 4, 5]というような値の集合のことを、リストと呼びます(他の言語では配列などと呼びます)。
for文では[1, 2, 3, 4, 5]のリストがあった場合、最初に1を取り出して処理を実行、次に2を取り出して処理を実行…のように繰り返し、最後に5を取り出して処理を実行したらfor文は終了します。
処理は複数書くことができ、それをまとめてブロックと呼びます。
また、ブロックはインデント(字下げ)が必要です。
インデントは一般的に連続した空白4個を使います。
if文の基本的な書き方は、以下のようになります。
for 変数 in リストオブジェクト:
処理1
処理2
:
for文を書く時の注意点
for文を書く時の注意点は、以下の二つです。
注意ポイント
- リストオブジェクトの後ろに:(コロン)を付ける。
- ブロックにはインデントを付ける。
for文を使ったプログラム
以下のプログラムは、リストオブジェクトに["DOG", "CAT", "MOUSE"]を用意して、順番に要素を取り出してその値を表示します。
1 2 |
for value in ["DOG", "CAT", "MOUSE"]: print(value) |
1 2 3 4 |
> python for1.py DOG CAT MOUSE |
ループを終了するbreak文
ある条件でループを途中で終了したい場合は、break文を使います。
以下のプログラムは、3より大きい値だったらループを終了します。
1 2 3 4 |
for value in [1, 2, 3, 4, 5]: if value > 3: break print(value) |
1 2 3 4 |
> python for2.py 1 2 3 |
ループの先頭に戻るcontinue文
ある条件でループの先頭に戻りたい場合は、continue文を使います。
以下のプログラムは、偶数だった場合は変数の値を表示せず、ループの先頭に戻り次の値の処理を行います。
1 2 3 4 |
for value in [1, 2, 3, 4, 5]: if value % 2 == 0: continue print(value) |
1 2 3 4 |
> python for3.py 1 3 5 |
while文の使い方
while文は条件式が真の間、処理を繰り返します。
while文の後ろの:(コロン)やインデントの使い方はfor文と同じです。
また、break文やcontinue文の扱いもfor文と同じです。
while文の基本的な書き方は、以下のようになります。
while 条件式:
処理1
処理2
:
while文を使ったプログラム
以下のプログラムは、変数countが3未満の間、処理を繰り返します。
4行目の「count += 1」は、ループの度に変数countの値に1を加算しています。
1 2 3 4 |
count = 0 while count < 3: print(count) count += 1 |
1 2 3 4 |
> python while1.py 0 1 2 |
参考として、Python公式サイト「Pythonの基礎の基礎」へのリンクを貼っておきます。