ColaboratoryでPython基礎 while文について

while文は指定した条件のプログラムを繰り返す命令になります。そのwhile文について、解説とColaboratoryで実行した様子を投稿します。

Colaboratoryを使えるようにする方法は下の投稿になります。
Colaboratoryを使えるようにする方法2つと Pythonプログラムの実行

目次

1.while文の基礎、使い方について

2.for文と同じ処理をwhile文でも実行

3.無限ループについて
・入力した数字の合計を求めるプログラム
・身長と体重を入力してBMIを求めるプログラム

1.while文の基礎、使い方について

 

指定した条件の間繰り返すwhile文はwhileの右側に何回繰り返すかの条件を書きます。上のプログラムの場合だとnum < 10で変数numが10より小さい間繰り返すことになります。またwhile文共通のルールでコロン(:)の後はfor文,if文と同じでインデントをしないといけないです。また、while文は少しミスがあると無限ループになるので、気を付けないといけないです。

上のwhile文の場合while文が読み込まれる前に変数numに0を代入し、numが+1ずつ足されるように準備をしています。そして、while文の繰り返し処理でnum+=1で1ずつ足していき、while num(9)<10が最後の繰り返しでnum+=1をして10が表示されてから、while文の条件確認で while num(10)<10条件に合わなくなり終了になります。このwhile文の注意点としてnum+=1を書くのを忘れると無限ループになってしまいます。
※インデント(字下げ)は条件を書いた行よりも少し間隔をあけることです。


上のwhile文のイメージ
num=0
while num(0) < 10:始まり
num+=1

while num(1) < 10:
num+=1

while num(2) < 10:
num+=1
↓↓↓
while num(9) < 10:最後の繰り返し num+=1を実行
num+=1

while num(10) < 10:終了 下のnum+=1は実行しません
num+=1



2.for文と同じ処理をwhile文でも実行

まず、for文のプログラムがこちらです。

続いて、while文がこちらです。

for文でやったリストから値を取り出すプログラムをwhile文でも実行したプログラムになります。

3.無限ループについて

間違えで無限ループにするのではなく、無限ループを使ったプログラムを紹介します。

入力した数字の合計を求めるプログラム
※imput()はキーボードで入力したデータを取得する命令になります。

①は合計を求めるための変数で、入力したデータをこの変数に足していきます。
②何も入力しない場合はbreakで無限ループを終了します。
③入力したデータをint型(整数)にします。inputで入力したデータは数値データではなくstr型(文字列)になっているので、intやfloatなどの数値データに変換しないと入力したデータを足すことはできないです。
④変数totalに整数型に変換した数値データを足していっています。
⑤無限ループを終了した後の最終の合計を表示しています。

身長と体重を入力してBMIを求めるプログラム

①身長と体重をキーボード入力でデータを取得しています。
②身長を入力しない場合はbreakで無限ループを終了します。
③inputで入力したデータは数値データではなくstr型(文字列)になっているので、intやfloatなどの数値データに変換しています。
④bmiの計算をしています。
⑤肥満、普通、痩せ型の判定をif文でしています。

身長と体重を入力すると下のようなbmiの数値と肥満、普通、痩せ型の判定が表示されます。

BMIについて
肥満 25以上
普通 18.5以上25未満
低体重 18.5未満
BMIの基準について参考にしたサイト:BMI | e-ヘルスネット(厚生労働省)