INDEX
whileの概要
条件を満たす間ループ処理を行う Python予約語 | ||
while 概要 わかりやすく説明 |
||
|
whileの基本的な使い方
以下の例では、カウント変数が10未満の間、繰り返し処理を実行しています。
# while ループの基本
count = 0
while count < 10:
print(count)
count += 1 # カウントを増やす
count < 10
の間、ループが実行される。- ループごとに
count += 1
でカウントを増加。 count
が 10 になると条件がFalse
になり、ループ終了。
ユーザー入力を受け取るwhileループ
ユーザーが特定の入力をするまでループを続ける例です。
# 正しいパスワードが入力されるまでループ
password = ""
while password != "python123":
password = input("パスワードを入力してください: ")
print("ログイン成功!")
- ユーザーが
"python123"
を入力するまで、ループを繰り返す。 - 正しいパスワードが入力されるとループが終了し、「ログイン成功!」が表示される。
whileとbreakを組み合わせる
break
を使うと、条件に関係なくループを途中で終了できます。
# break を使ったループの終了
count = 0
while True:
print(count)
count += 1
if count == 5:
break # カウントが5になったらループ終了
while True
で無限ループを作成。count == 5
になったらbreak
でループを終了。
whileとcontinueを組み合わせる
continue
を使うと、ループ内の処理をスキップし、次の繰り返しに進めます。
# 偶数のときだけ処理をスキップ
count = 0
while count < 10:
count += 1
if count % 2 == 0:
continue # 偶数のときはスキップ
print(count)
- カウントが偶数のときは
continue
でprint()
をスキップ。 - 奇数のみが出力される。
while-elseを使ったループ終了処理
while
に else
を組み合わせると、ループが正常終了したときに特定の処理を実行できます。
# while-else の使い方
count = 0
while count < 5:
print(count)
count += 1
else:
print("ループが正常終了しました")
- ループが条件通りに終了すると
else
の処理が実行される。 break
でループが終了するとelse
は実行されない。
無限ループの作成(意図的なループ)
while True
を使うと、条件なしの無限ループを作成できます。
# 無限ループの例
while True:
command = input("コマンドを入力 (exit で終了): ")
if command == "exit":
break # "exit" が入力されたらループ終了
print(f"入力されたコマンド: {command}")
- ユーザーが
exit
を入力するまでループを続ける。 - それ以外の入力は、そのまま出力される。
whileの注意点
- 無限ループに注意: ループ内で条件を変化させないと、無限に繰り返し続ける。
- break を適切に使う: 特定の条件でループを強制終了する場合に便利。
- continue の使い方に注意: 過剰に使うと、意図しないスキップが発生する可能性がある。
whileのよくある質問
- Q: while と for の違いは?
- A:
while
は条件がTrue
の間繰り返し、for
は決められた回数やシーケンスの要素を繰り返します。 - Q: 無限ループになってしまった場合の対処方法は?
- A:
Ctrl + C
を押すとプログラムを強制終了できます。 - Q: while の条件にリストを使うとどうなる?
- A: リストが空でない限り
True
と評価されるため、空リストになるまでループが続く。
まとめ
while
は、条件を満たしている間ループを続けるための制御構造です。
- 条件が
True
の間繰り返し処理を実行する。 break
を使うと、任意のタイミングでループを終了できる。while-else
を使うと、ループが正常終了した際の処理を追加できる。
適切に while
を活用し、柔軟なループ処理を実現しましょう。