初めに
Python では、while 文と for 文で繰り返し処理を行うことができます。本記事では、これら2つの使い方をまとめます。
while 文
while 文の使い方
while 文は条件式が true の間、while ブロック内のコードを繰り返し処理します。
# 条件式がtrueの間、while節(インデントされたブロック)を繰り返し実行する while 条件式: 処理1 処理2 ...
(例)
# 1から5までの数字を表示する例 # カウンターを初期化 counter = 1 # whileループを開始 while counter <= 5: print(counter) # カウンターの値を表示 counter += 1 # カウンターを1増やす # ループ終了後に表示 print("ループ終了")
(出力結果)
1 2 3 4 5 ループ終了
条件式が常に true の場合、無限ループが発生し、プログラムがいつまでも終了しません。
for 文
for 文の使い方
for 文は、ある範囲内の値を使って一連の処理を繰り返すために使います。
for 変数 in シーケンス: 処理1 処理2 ....
(例)
# 1から5までの数字を表示する例 for i in range(1, 6): print(i)
(実行結果)
1 2 3 4 5
for 文では、リスト(配列)、文字列、タプル、辞書など反復可能な(iterable)オブジェクトから要素を取得することができます。
break 文
break 文は、ループ内で特定の条件が満たされた場合に、そのループを即座に終了させるために使用されます。
break 文は、無限ループから脱出やエラー処理の際に使われることがあります。
(例1:無限ループからの脱出)
while True: # 常にtrueのため, 無限ループ発生 user_input = input("Type 'exit' to quit: ") if user_input == 'exit': #ユーザーが"exit"と入力したらbreakが実行され, 無限ループを抜ける break
(例2:エラー処理)
#エラーが発生したら, break文によりループ処理をやめ, else ブロックが実行される for i in range(10): try: #実行しようとする処理 result = 10 / (i - 5) except ZeroDivisionError: #0で割ろうとした場合に起こるエラー print(f"Error dividing by zero for i = {i}.") break except Exception as e: #その他の例外 print(f"An error occurred: {e}") break else: print(f"Result for i = {i}: {result}")
※else 文の説明は、後述しています。
continue 文
continue文は、ループ内で特定の条件が満たされた場合に、それ以降のループ内のコードをスキップし、次の繰り返しに進むために使用されます。
for i in range(1, 11): if i % 2 == 0: # i が2で割り切れるならばcontinueが処理され,以下のループ内のコードをスキップし、次のループへ continue print(i)
(実行結果)
1 3 5 7 9