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のループの基本的な理解が深まったと思います。