条件を満たすまで繰り返す (while文)
for文は「5回繰り返す」「リストの中身を全部見る」など、回数が決まっている時に使いました。 それに対して、「いつ終わるかわからないけど、ある条件を満たしている間はずーっと繰り返す」のが while(ホワイル)文です。
while文の基本
RPGゲームで、「敵のHPが0になるまで(=HPが0より大きい間は)攻撃を続ける」というような状況にピッタリです。
while_test.py
Loading...
💡 while文を失敗させない「3つのルール」
while文を書く時は、必ず以下の3つがセットになっているか確認しましょう。
- スタート地点を作る:
hp = 3(最初の状態を決める) - 条件(ゴール)を決める:
while hp > 0:(いつまで続けるか) - 毎回の変化(カウントダウン)を書く:
hp = hp - 1(これが重要!)
🚨 恐怖の無限ループ
上のコードで、もし hp = hp - 1 という行を書き忘れたらどうなるでしょうか?
HPはずっと3のままなので、hp > 0 という条件が永遠に True(マル)になり続け、プログラムが永遠に止まらなくなります。これを無限ループと呼びます。
※もし無限ループに陥って画面が固まってしまったら、ブラウザのタブをリロード(再読み込み)して強制終了させてください😱
途中で抜け出す (break)
基本的には条件を満たすまで回り続けますが、「ある特別なことが起きたら、今すぐループをやめて外に出たい!」という時があります。
その時は break (ブレイク) という魔法の言葉を使います。
break_test.py
Loading...
🎯 練習問題:カウントダウン!
変数 timer を使って、3, 2, 1, 0, 発射! とカウントダウンするプログラムを作ってみましょう。timer が 0以上の間 while ループを回し、毎回 timer を 1 ずつ減らしていきます。
practice_while.py
Loading...