ARMtech

Python入門:while文

while文とは

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句の書き方
while 条件式 :
       条件式が成立した時の処理(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ブロックの内容が飛ばされます。

練習問題

では、これまでの内容をもとに次のプログラムを作ってみましょう!

  1. 数字が入力されると、その数字から0までカウントダウンするプログラム。
  2. 一年お金を預けるとそのお金が必ず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の基本的な構文を学習することが出来ますのでぜひ立ち寄ってみてください!

<   >
© 2024 ARMtech