Pythonのwhile文はどんな処理をするのか?
while文もfor文同様に非常に良く使います。
確実にモノにしなければなりませんね。
import random
print(random.randint(0,9))
>0から9のどれかが出ます。
randomっての以前やりました。
数値をランダムに出すモジュールです。
random.randint()はrandomモジュールの関数であり任意の範囲の数値を出しますのでこのコードの0から9が出ます。
さて、このコードにwhileを入れましょう。
import random
rand_num = 0
while rand_num != 4:
rand_num = random.randint(0,9)
print(rand_num)
> 1
0
4
ランダムに数字が出て4になるとストップします。
これはrand_numに0を代入。
while rand_num != 4:は !=が0から9で4と異なったら動くって事です。
そして、起動するとランダムに数値が出て4が出たら処理は終わります。
while 条件式:
条件式が真の時に実行する文
while文の処理です。
ちなみにfor文との違いはfor文繰り返す回数や範囲が分かっている場合であって、whileはrandomのように処理の回数が分かってない場合に使います。
import random
while True:
rand_num = random.randint(0,9)
print(rand_num)
if rand_now != 4:
continue
else:
break
> 1
0
4
ランダムに数字が出て4になるとストップします。
結果は上と同じですがコードが違うやり方で処理してます。
continueとbreakが出てきましたね。
continueとはそれ以前の処理を繰り返すのです。
このコードならif rand_now != 4:で4が出なければwhile True:
rand_num = random.randint(0,9)
print(rand_num)
この処理を繰り返すのです。
breakは処理を止めます。
4が出るという条件を満たすと終わりになるのです。
この処理はRPGの戦闘の数値なんかに
頻繁に使われてるでしょうね。
こうやってRPGの数値が動作すると思うと興味深いです。