サバくん
繰り返しの処理を行うときにはwhile分を使うといいです。特にある処理を行うまで繰り返す時やある条件を満たすまで処理を繰り返すときなど、どのぐらい繰り返すかわからないときには便利です。
while文の構文構造は
while文
while bool型:
␣␣␣␣処理したいコード
となっており、bool値がTrueならば処理を行い、Falseならば処理が止まります。つまり、「bool値がTrueの間は処理を実行し続けますよ!」ってことです。
実際にwhile文を見てみましょう
tf = True
count = 0
while tf:
print(count)
count+=1
if count>5:
tf = False
#[out]
# 0
# 1
# 2
# 3
# 4
# 5
このコードはwhile文が実行される度に
- countがprintで出力されて、
- その後countが+1されて、
- countが5より大きくなった場合にwhile文の処理を抜けることができます。
比較演算子やbool演算子と組み合わせて使うことでもっと綺麗にコードを記述することができます。
count = 0
while count<=5:
print(count)
count+=1
他にもbreakを使うことで処理を抜けることができます。
count = 0
while True:
print(count)
count+=1
if count>5:
break
このようにwhile文を使うことでくり返しの処理ができます。
例題を解いて理解を深めよう!!
import time
count = 0
num = 1
while count < 20:
time.sleep(1)
if (num%3 == 0) or ("3" in str(num)):
count += 1
print(f"{num}ぁん(アホになっている)")
else:
print(num)
num += 1
答えは他にもあるので書き方が多少違くてもOKです。僕が書いた処理では20回アホになると処理を終了します。
money = 40
days = 0
while money < 10000:
money *= 1.1
days += 10
print(f"40万円は{days}日で{money}万円に膨れ上がりました")
1年半とちょっとで40万円が1億円を越しましたね、恐ろしい、、