Python入門:while文
while文とは
while文は指定した条件式が成立する間、while文の中の処理を繰り返し実行します。
条件式が成立した時の処理(whileブロック)
while文を使うときは条件式を指定します。また、条件式が成立する間実行される処理はブロックといい、while文のブロックの範囲はインデントで示すことができます。
print("カウントを開始します")
count = 1
while count <= 5 :
print(count)
count += 1
1
2
3
4
5
while文を使うことで、コードの行数を少なくし、より複雑な処理を作ることができます。
else句
while文は、if文と同様にelse句が存在します。while文のelse句は条件式が成立しないときに実行されます。
条件式が成立した時の処理(whileブロック)
else :
条件式が成立しなかった時の処理(elseブロック)
elseブロックの処理の内容は、while文の後ろに書いてもプログラムの動きはあまり変わりません。ただ、whileブロックの中にbreak文がある場合は、elseブロックが処理されずにwhile文の処理が終わります。
break文についてはこちらの記事で詳しく説明しています。
print("カウントを開始します")
count = input("秒数を入力してください>>")
count = int(count)
while count > 0 :
print(count)
if count == 10 :
print("...秒数が長すぎます")
break
count -= 1
else :
print("正常に実行できました")
秒数を入力してください>>5
5
4
3
2
1
正常に実行できました
秒数を入力してください>>15
15
14
13
12
11
10
...秒数が長すぎます
上のプログラムでは、カウントが10秒になるとbreak文が動作し、elseブロックの内容が飛ばされます。
練習問題
では、これまでの内容をもとに次のプログラムを作ってみましょう!
- 数字が入力されると、その数字から0までカウントダウンするプログラム。
- 一年お金を預けるとそのお金が必ず1.5倍になるという怪しい商売がありました。1000円預けると50年後は何円になっているかを計算するブログラム。
解答例※あくまで一例です。
(1)
print("カウントを開始します")
count = input("秒数を入力してください>>")
count = int(count)
while count >= 0 :
print(count)
count -= 1
カウントを開始します
秒数を入力してください>>3
3
2
1
0
(2)
money = 1000
year = 0
while year < 50 :
money *= 1.5
year += 1
print(money)
637621500214.0496
※別解
print(1000*1.5**50)
637621500214.0496
最後に
この記事では、Pythonでのwhile文の書き方を解説しました。
もっとPythonを学びたい!という方はこちらの記事でPythonの基本的な構文を学習することが出来ますのでぜひ立ち寄ってみてください!