まず結論
while 文は、条件が True の間だけ繰り返します。
count = 0
while count < 3:
print(count)
count = count + 1
このコードは、0、1、2 を表示して止まります。
こんなときに読む記事です
次のような疑問がある人向けです。
whileとforの違いが分からない- いつループが止まるのか分からない
- プログラムが止まらなくなった
while は「条件が本当の間は続ける」と読みます。
条件を毎回確認する
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になる動き」があるか確認します。
3行まとめ
- while文は条件がTrueの間だけ繰り返す。
- 条件がFalseになると止まる。
- 条件が変わらないと無限ループになる。