未分類

【Python】第2章第6回:breakとcontinueの活用法

Pythonでは、breakcontinueを使うことで、ループの制御を柔軟に行うことができます。本記事では、それぞれの基本的な使い方と応用例を解説します。

0. 記事の概要

この記事を読むメリット

  • breakとcontinueの基本を理解:ループを途中で終了したり、特定の条件でスキップする方法が学べます。
  • エラーを防止:無駄なループや処理を避ける効率的なコードの書き方がわかります。
  • 実用的なスキルを取得:複雑な条件を伴うループの制御が可能になります。

この記事で学べること

  • break文の基本と応用
  • continue文の基本と応用
  • ループの効率的な制御方法

1. break文の使い方

1.1 break文の基本

break文は、ループを途中で終了するために使用されます。

# break文の基本例
for i in range(10):
    if i == 5:
        break
    print(i)
動作解説
  1. ループ内でi5になった時点でbreak文が実行されます。
  2. ループは即座に終了し、以降の繰り返しは行われません。

1.2 条件による早期終了

break文を使用して特定の条件でループを終了させることで、無駄な処理を回避できます。

# 条件に基づく早期終了
numbers = [1, 2, 3, 4, 5, 6]

for num in numbers:
    if num > 4:
        print("条件を満たしました。ループを終了します。")
        break
    print(num)
動作解説
  1. リスト内の要素を順にチェックし、num > 4でループを終了します。
  2. 条件が満たされない間は、要素が出力されます。

2. continue文の使い方

2.1 continue文の基本

continue文は、現在の繰り返しをスキップして次の繰り返しに移行します。

# continue文の基本例
for i in range(5):
    if i == 2:
        continue
    print(i)
動作解説
  1. i == 2Trueの場合、continue文が実行されます。
  2. 現在の繰り返しがスキップされ、次の繰り返しに進みます。

2.2 特定の条件をスキップ

特定の条件に一致する場合だけ処理をスキップすることで、効率的なループを構築できます。

# 条件に応じてスキップ
numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num % 2 == 0:
        continue
    print(num)
動作解説
  1. 偶数の場合、continue文が実行されます。
  2. 奇数の場合のみ、print文が実行されます。

3. 実践例:breakとcontinueを活用したプログラム

1から100までの数値をチェックし、特定の条件に基づいて出力を制御します。

# 実践例: 条件付きの出力制御
for i in range(1, 101):
    if i > 50:
        break
    if i % 5 == 0:
        continue
    print(i)
動作解説
  1. 数値が50を超えるとbreak文でループを終了します。
  2. 数値が5で割り切れる場合、continue文でスキップされます。
  3. それ以外の数値が出力されます。

4. 練習問題

以下の課題に挑戦してみましょう。

  1. 1から20までの数値をループで処理し、3の倍数の場合はスキップ、10以上でループを終了するプログラムを作成してください。
  2. 文字列リストをループで処理し、「pass」を含む文字列が見つかった場合はループを終了、それ以外は出力するプログラムを作成してください。

5. 練習問題の解答と解説

問1の解答例

# 3の倍数をスキップし、10以上で終了
for i in range(1, 21):
    if i >= 10:
        break
    if i % 3 == 0:
        continue
    print(i)

問2の解答例

# passを含む文字列でループを終了
words = ["hello", "world", "pass", "python"]

for word in words:
    if "pass" in word:
        break
    print(word)

6. まとめ

Pythonのbreakcontinueを使うことで、ループの制御を効率化できます。これを基に、さらに実践的なプログラム作成に挑戦してください。