まず結論
while 文は、条件が True の間だけ繰り返します。
count = 0
while count < 3:
print(count)
count = count + 1
このコードは、0、1、2 を表示して止まります。
while は「条件が本当の間は続ける」と読みます。
イメージで考える
while は、条件ランプを毎回見ている門番のようなものです。
ランプが True の間は、字下げされた処理へ進みます。
count = count + 1 は、ランプがいつか False に変わるようにメーターを動かす役目です。
メーターが動かないと、門番はずっと True だと思って止まりません。
条件を毎回確認する
Pythonは、繰り返しのたびに条件を確認します。
count が 0 → count < 3 は True
count が 1 → count < 3 は True
count が 2 → count < 3 は True
count が 3 → count < 3 は False
False になったところで止まります。
条件を変える処理が必要
次の行が大事です。
count = count + 1
これがあるので、count が少しずつ増えて、いつか条件が False になります。
無限ループに注意
条件がずっと True のままだと止まりません。
count = 0
while count < 3:
print(count)
count が増えないので、ずっと 0 を表示し続けます。
forとの違い
回数が決まっているなら for が読みやすいことが多いです。
for i in range(3):
print(i)
条件によって続けるか決めたいときに while が向いています。
読み方のコツ
while 条件: は「条件がTrueの間」と読みます。
そして、ループの中に「いつか条件がFalseになる動き」があるか確認します。
手を動かすミニ練習
count が増えて、いつか条件がFalseになる流れを見てみましょう。
count = 0
while count < 3:
print(count)
count = count + 1
count = count + 1 がないと、条件が変わらずループが終わりません。
3行まとめ
- while文は条件がTrueの間だけ繰り返す。
- 条件がFalseになると止まる。
- 条件が変わらないと無限ループになる。
ここまでの確認
- リストは複数の値を順番に持つと分かる
- forでリストの中身を1つずつ扱える
- rangeとwhileの違いをざっくり説明できる