ループは、プログラム内で同じ処理を何度も繰り返すために使います。Pythonには2種類の基本的なループ構文があり、特定の条件に基づいて処理を繰り返します。
この記事では、for ループとwhile ループ、およびループを制御するbreakとcontinueについて詳しく解説します。
1. for ループ
for ループは、リストやタプル、文字列、レンジなどのイテラブルオブジェクト(反復可能なオブジェクト)の各要素に対して繰り返し処理を行うために使用されます。for ループは、イテラブルオブジェクト内のすべての要素を1つずつ処理するのに非常に適しています。
基本構文
for 変数 in イテラブルオブジェクト:
実行する処理
例: リストを使った for ループ
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
結果:
apple
banana
cherry
この例では、fruits リストの各要素に対して fruit という変数を使って繰り返し処理を行い、それぞれの要素を出力しています。
2. while ループ
while ループは、指定した**条件が真(True)**である限り、繰り返し処理を行います。条件が偽(False)になると、ループが終了します。while ループは、特定の条件に基づいて繰り返し処理を行う場合に便利です。
基本構文
while 条件:
実行する処理
例: 基本的な while ループ
i = 1
while i <= 5:
print(i)
i += 1
結果:
1
2
3
4
5
この例では、i の値が 5 以下である限り、ループが繰り返されます。ループのたびに i が 1 ずつ増え、i が 6 になった時点でループが終了します。
3. break
break 文は、ループを強制的に終了させるために使います。break 文が実行されると、現在のループの反復処理が即座に終了し、ループの外へ移動します。
例: break を使ったループ終了
for i in range(10):
if i == 5:
break
print(i)
結果:
0
1
2
3
4
この例では、i が 5 に達した時点で break 文が実行され、ループが終了します。
4. continue
continue 文は、現在の反復処理をスキップして、次の反復処理に移動するために使います。ループを完全に終了するのではなく、次の処理を続けます。
例: continue を使った処理のスキップ
for i in range(5):
if i == 2:
continue
print(i)
結果:
0
1
3
4
この例では、i が 2 のときに continue 文が実行され、その回の出力はスキップされますが、ループは続行されます。
5. for ループと range() 関数
range() 関数を使うことで、指定した範囲内の数値を生成し、それに基づいて for ループを回すことができます。range() は、開始値、終了値、ステップ値を指定することができます。
例: range() を使った for ループ
for i in range(1, 6): # 1から5までの数値を繰り返す
print(i)
結果:
1
2
3
4
5
6. while ループの無限ループ
条件が常に真(True)の場合、while ループは無限ループになります。無限ループは、特定の条件が満たされるまで処理を続けたい場合や、プログラムが強制終了されるまで動き続ける処理を実装する際に使われます。
例: 無限ループ
while True:
print("This is an infinite loop.")
このループは、強制終了するか break 文を使うまで永久に実行されます。
無限ループから抜け出す: break の使用
while True:
user_input = input("終了するには 'exit' と入力してください: ")
if user_input == 'exit':
break
この例では、ユーザーが ‘exit’ と入力すると break 文が実行され、無限ループから抜け出します。
まとめ
Pythonのループ構文には、主に2種類のループがあり、それぞれに特有の用途があります。
-
for ループ: リストや文字列、range() などのイテラブルオブジェクトを反復処理する際に使用します。
-
while ループ: 特定の条件が真の間、繰り返し処理を行う際に使用します。
また、ループの制御を行うための2つの文があります。
-
break: ループを強制的に終了します。
-
continue: 現在の反復処理をスキップし、次の反復処理に進みます。
これらの構文を理解することで、効率的に繰り返し処理を行うことができ、Pythonでのコーディングスキルが向上します。
コメント