Python|while文による繰り返し処理の基本と応用例

1. はじめに

Pythonで繰り返し処理を行うためには、while文の活用が欠かせません。繰り返しの回数が決まっていないときや、条件に応じてループを制御したい場面では特に効果を発揮します。

本記事では、Python|while文による繰り返し処理の基本と応用例というテーマで、初心者でも理解しやすいように、基本構文から実践的な活用法まで丁寧に解説します。実務でも役立つポイントや、よくあるミスについても触れていきます。

 

2. Pythonのwhile文による繰り返し処理の基本

2-1. while文とは?

while文は「指定した条件がTrueの間、処理を繰り返す」構文です。条件が満たされている限り、ループが続きます。

構文は以下の通りです:

while 条件式:
    処理内容

2-2. while文の基本例

以下は、1から5までの数値を出力する基本例です。

i = 1
while i <= 5:
    print(i)
    i += 1

出力結果:

1
2
3
4
5

このコードでは、変数iが5以下である限り、ループが継続します。1回ループごとにiの値を1つずつ増やしています。

 

3. while文のよくある使い方・応用例

3-1. 無限ループを活用したメニュー表示

ユーザーが特定の操作をするまで繰り返す「メニュー画面」などに、while True:を用いた無限ループが便利です。

while True:
    command = input("操作を選んでください(1:開始、2:終了):")
    if command == "1":
        print("処理を開始します。")
    elif command == "2":
        print("終了します。")
        break
    else:
        print("無効な入力です。")

実行例:

操作を選んでください(1:開始、2:終了): 1
処理を開始します。
操作を選んでください(1:開始、2:終了): 2
終了します。

3-2. 条件に基づくデータ入力の検証

正しい数値が入力されるまで、ユーザーに再入力を促す処理もwhileで実現できます。

num = 0
while num <= 0:
    try:
        num = int(input("1以上の整数を入力してください: "))
    except ValueError:
        print("数字を入力してください。")
print(f"入力された値: {num}")

3-3. リストから条件付きで要素を取り出す

次のように、リストの先頭から条件に合う要素を取り出す処理も、whileで柔軟に書けます。

data = [10, 20, 0, 30, 0, 40]
index = 0

while index < len(data):
    if data[index] == 0:
        print(f"index {index} に0が見つかりました。")
    index += 1

 

4. Pythonのwhile文で注意すべきポイントとエラー対策

4-1. 無限ループに注意

while文の条件が常にTrueになると、処理が永遠に終わらない無限ループになります。以下のように更新処理を忘れると、意図せず無限ループになります。

i = 0
while i < 5:
    print(i)  # i += 1 がないとループから抜けられない

4-2. breakやcontinueの使い方

breakはループを途中で終了させ、continueは次のループへスキップします。

i = 0
while i < 5:
    i += 1
    if i == 3:
        continue  # 3はスキップされる
    print(i)

出力結果:

1
2
4
5

4-3. 条件式が複雑なときは整理する

複雑な条件を1つのwhile文に書くと、可読性が低下します。別関数にまとめると理解しやすくなります。

 

5. まとめ

本記事では、Pythonのwhile文による繰り返し処理の基本と応用について、構文の使い方から実務で役立つ応用例まで解説しました。

  • while文は「条件を満たす限り繰り返す」構文
  • 条件式の更新を忘れると無限ループに注意
  • メニュー表示や入力チェックなど実務で使える

Python初心者の方は、ループ処理に慣れることが学習の大きな一歩になります。
if文と組み合わせることで、より柔軟な処理が可能になるので、ぜひこの記事を参考にwhile文を活用してみてください。

タイトルとURLをコピーしました