whileによる繰り返し

目的

要素の数が決まっているリストやタプルに対して繰り返し処理をする場合や,決まった回数だけ繰り返し処理をする場合にはfor文を使用した.ここでは,予め繰り返し回数が決まっていない場合によく使用されるwhile文について学ぶ.

説明

while文を使用した繰り返し処理は,例えばユーザが何かを行ったときに繰り返し処理が終わるような,予め繰り返し回数が決まっていない場合によく使用される.例えば,100万円を年利1%の銀行に預けたときに,200万円を超えるのに何年かかるかを知りたいときには,以下のようにすればよい.

while文では,whileの後に条件を記述し,条件を満たす間は処理が繰り返される.この例では,Trueとしているので,ずっと繰り返しを続けることになる.繰り返し処理の中で毎年の貯蓄額を計算している.計算結果は浮動小数点数となるが,貯蓄額は整数であるため,6行目でint関数を使用して浮動小数点数を整数型に型変換(キャスト)している.繰り返し処理の中のif文で条件判断を行い,ある条件を満たすと繰り返し処理をbreakしている.この例では,貯蓄額が200万円を超えると,繰り返しを終了するようにしている.出力結果は以下のようになり,貯蓄額が200万円を超えるには70年かかることがわかる.

この処理は以下のように書くこともできる.

課題

課題0

1mmの厚さの紙を半分に折り続けると,厚さが富士山の高さ(3,776m)を超えるのは何回折ったときか求めよ.

課題1

1月1mmの厚さの紙を半分に折り続けると,厚さが国際宇宙ステーションのある高さ(460km)を超えるのは何回折ったときか求めよ.

課題2

貯金が1年に1.5倍になるとする.最初100円だった貯金が1億円を超えるのに何年かかるか求めよ.

課題3

貯金が1年に2倍になるとする.最初1円だった貯金が10億円を超えるのに何年かかるか求めよ.

課題4

年利1%で3000万円の住宅ローンを組んだ.毎月10万円を返済すると,完済するまでに何年かかるか求めよ.

課題5

年利4%で2000万円の住宅ローンを組んだ.毎月10万円を返済すると,完済するまでに何年かかるか求めよ.