Pythonのループについて詳しく解説します。Pythonには主に2つのループ構造があります:forループとwhileループです。これらのループを使用して、同じコードブロックを繰り返し実行することができます。
1. forループ
forループは、シーケンス(リスト、タプル、文字列など)の各要素に対して繰り返し処理を行います。
基本的なforループの構文
fruits = ["りんご", "バナナ", "みかん"]
for fruit in fruits:
print(fruit)
この例では、fruitsリストの各要素を順にfruit変数に代入し、print関数で出力しています。
range関数を使ったforループ
range関数を使うと、指定した範囲の数値を生成してループを実行できます。
for i in range(5):
print(i)
この例では、0から4までの数値が順にi変数に代入され、出力されます。
range関数の他の使い方:
range(start, stop):startからstop-1までの数値を生成range(start, stop, step):startからstop-1までの数値をstepずつ増加させて生成
for i in range(1, 10, 2):
print(i)
この例では、1から9までの奇数が出力されます。
ネストしたforループ
forループをネスト(入れ子)にすることで、複雑な繰り返し処理を行うことができます。
for i in range(3):
for j in range(2):
print(f"i={i}, j={j}")
この例では、外側のループが3回、内側のループがそれぞれ2回実行されます。
2. whileループ
whileループは、指定した条件が真(True)の間、繰り返し処理を行います。
基本的なwhileループの構文
count = 0
while count < 5:
print(count)
count += 1
この例では、count変数が5未満である限り、print関数で出力され、countが1ずつ増加します。
無限ループ
条件が常に真(True)の場合、ループは無限に実行されます。無限ループを避けるために、条件を適切に設定し、必要に応じてbreak文でループを終了します。
while True:
response = input("終了するには'q'を入力してください: ")
if response == 'q':
break
この例では、ユーザーが'q'を入力するまでループが続きます。
ループ制御文
ループを制御するために、break文とcontinue文を使用できます。
break文
break文は、ループを強制的に終了します。
for i in range(10):
if i == 5:
break
print(i)
この例では、iが5になるとループが終了します。
continue文
continue文は、現在のイテレーション(繰り返し)をスキップし、次のイテレーションに移ります。
for i in range(10):
if i % 2 == 0:
continue
print(i)
この例では、iが偶数の場合はスキップされ、奇数のみが出力されます。
ループのelse節
Pythonのループには、オプションでelse節を付けることができます。else節は、ループが正常に完了した場合に実行されます(break文で終了した場合は実行されません)。
for i in range(5):
print(i)
else:
print("ループが正常に完了しました")
count = 0
while count < 5:
print(count)
count += 1
else:
print("whileループが正常に完了しました")
まとめ
- forループ: シーケンスの各要素に対して繰り返し処理を行う。
- whileループ: 指定した条件が真の間、繰り返し処理を行う。
- break文: ループを強制的に終了する。
- continue文: 現在のイテレーションをスキップし、次のイテレーションに移る。
- else節: ループが正常に完了した場合に実行される。
これでPythonのループの基本的な理解が深まったと思います。