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 を活用し、柔軟なループ処理を実現しましょう。