【Python入門】while文の使い方|条件付きループ・break・continueの活用

Python

Pythonの while文 は、条件がTrueの間、処理を繰り返す構文です。

回数が決まっている場合はfor文を使いますが、条件が変わるまで繰り返す処理ではwhile文が活躍します。

この記事では、基本構文から無限ループ、break/continueの使い方、よくあるエラー対策までを初心者向けに解説します。

この記事の対象

  • While構文の使用方法を知りたい方
  • Whileを抜ける方法を知りたい方
  • Breakの使用方法を知りたい方
スポンサーリンク
スポンサーリンク

while構文の型

while 条件式:
 #繰り返し処理
else:
 #while終了後の処理

while構文は条件式を単純に繰り返す構文です。whileを終えたらelseを用いてwhileが抜けた処理(False)を示すことが重要です(終了条件の定義)。while構文の条件式がTrueの場合や記述ミスで永遠とプログラムが処理を続ける場合は、強制終了させる必要があります。

強制終了は[Ctrl]+[C]キーになります。

while構文を用いた使用例

カウントダウン

count = 5
while count > 0:
 print(count)
 count -= 1;
else:
 print("End")

上記のプログラムは5から1までの数値をcountするものです。0になるまで処理を繰り返すプログラムとなっています。1までcountしたら最後の処理として「End」を出力する内容となっています。

Breakで抜ける方法

i = 0
while True:
    i = i + 1
    print(i)
    if i == 10:
        print('!!BREAK!!')
        break

While構文では条件を満たしたらBreakで抜ける方法が良く使用されます。

上記のプログラムは1を足していき、10になったら抜ける内容になっています。

入力の検証(条件を満たすまで繰り返し)

valid_input = False
while not valid_input:
    user_input = input("整数を入力してください: ")
    if user_input.isdigit():
        valid_input = True
    else:
        print("無効な入力です。")
print(f"入力された数値は {user_input} です。")

上記のプログラムは、ユーザーに整数の入力を要求し、無効な入力が行われた場合に繰り返し入力を求め続けるものになります。有効な入力が行われるまで続行します。

Fibonacci数列

a, b = 0, 1
while a < 1000:
    print(a, end=', ')
    a, b = b, a + b

上記のプログラムは、フィボナッチ数列を生成し、1000未満の数値を表示するものになります。a と b は数列の前の2つの要素を表しています。

結果

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987,

Whileループのエラーと回避方法

エラー例原因対策
無限ループ条件が変化しないループ内で変数を更新する
IndentationErrorインデントミス半角スペース4つで統一

無限ループ

誤って無限ループを作成する可能性があります。この問題を回避するために、ループ内での条件の更新や終了条件の確認を確実に行う必要があります。

# 無限ループの例
while True:
    print("これは無限ループです。")

# 正しい終了条件を設定
count = 0
while count < 5:
    print(count)
    count += 1

条件の誤った設定

条件を誤って設定することがあります。条件を正確に検討し、設定する必要があります。

# 誤った条件の例
x = 10
while x > 5:
    print(x)
    x -= 1

この例では、初めから条件が偽であり、ループは実行されません。条件を x >= 5 とする必要があります。

まとめ

while構文は繰り返し処理を行うことで条件がTrueになるまで繰り返し処理を行います。適切な条件を設定し、エラーを避けるために慎重にコードを検討し、デバッグすることが重要です。

関連記事

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