前回は繰り返し処理を細かく制御するbreak continue文について学びました. 今回はwhile文による繰り返し処理を学びます. while文は以下のように使います.
while (条件式): # if文と同じようにダブルコロンを付けます.
(繰り返したい処理) # if文と同じようにインデントブロックを作ります.
(繰り返したい処理2行目)
|
(繰り返したい処理n行目) # 繰り返したい処理は複数行でもよい
条件式を満たしている(条件式がTrueの)間のみ繰り返し処理が続けられます.
具体的な例を見てみましょう.aが100未満の間はaに2をかけ続ける処理です.
a = 2
while a < 100:
a = 2*a
print(a)
a = 2
for i in range(1000000):
if a >= 100:
break
a = 2*a
print(a)
while True:
print("Hello World")
(繰り返したい処理) # 1回目は仕方がないのでwhileの外で行う
while (終了条件):
(繰り返したい処理)
同じ処理を2回書くことになります.1行の処理ならいいですが,これが何十行もの処理になると大変です.
while Trueによる無限ループを使うことで以下のように書くことができます.
while True:
(繰り返したい処理) # 1回は必ず行う
if (終了条件):
break
前回学んだbreak文と併用することで1回は必ず行ってほしいが,何回行うかわからない処理を綺麗に書けます.
money = 50000 # 元となる5万円
counter = 0 # 年数を数えるカウンター
while money < 1000000: # 100万円を超えるまで
money = money*1.03 # 利息を付け続ける
counter = counter + 1 # 年数をカウントする
print(counter)
答えは102年後です.残念ながらお年玉を引き出すのは無理そうです.
今回はwhile文による繰り返し処理を学びました.
for文と使い分けることでスマートにプログラムを記述できるようになりますのでぜひマスターしてみてください.
次回はPython入門 基礎編のまとめを行います.