プログラミングの基礎中の基礎。
- 変数の宣言と代入
- 四則演算
- if文による条件分岐
- print関数
- Input関数
これらを使って、BMI判定ツールを作ってみたので、実例を交えて説明していきます。
※プログラミング手法とは別にBMI値の判定式は別途必要ですが、
今回は以下を使うものとします。
BMI算出式:
体重[kg] ÷ (身長[m])^2
判定基準:
18.5未満 痩せてる
18.5~25 標準
25~30 肥満
30以上 高度肥満
BMI判定ツール
いきなりですが、ソースコードと処理結果です。大体30行ほどの内容になっています。
※『ソースコード = プログラミングの本文』を意味します。
このプログラムは、コンソール画面上でのユーザーとプログラムとの対話形式で成り立つようにな構成になっています。
ユーザーの身長、体重をインプットとし、プログラムでBMI値を算出、判定を行いアウトプットを出力します。
ソースコード
##ファイル名:bmi.py
##ユーザーに入力を促すinput関数
##ユーザーの入力した身長、体重を変数(fHeight、fWeight)へ代入。
fHeight = float(input(“身長[cm]を入力してください。“))
fWeight = float(input(“体重[kg]を入力してください。“))
##身長の単位を[cm]→[m]。
fHeight = fHeight / 100
##BMIの算出式
fBmi = fWeight / (fHeight ** 2)
##改行
print(“\n”)
##if文による条件分岐
##BMI値が18.5未満なら痩せてるをprint関数で表示。
if fBmi < 18.5:
print(“痩せてる“)
print(“BMI=”,”{:.2f}”.format(fBmi))
##BMI値が18.5~25.0未満なら標準をprint関数で表示。
elif fBmi >18.5 and fBmi < 25:
print(“標準“)
print(“BMI=”,'{:.2f}’.format(fBmi))
##BMI値が25.0~30.0未満なら肥満をprint関数で表示。
elif fBmi >25 and fBmi < 30:
print(“肥満“)
print(“BMI=”,'{:.2f}’.format(fBmi))
##BMI値が上記の範囲外なら高度肥満をprint関数で表示。
else:
print(“高度肥満“)
print(“BMI=”,'{:.2f}’.format(fBmi))
##ユーザーに入力を促すinput関数
##ユーザーの入力した身長、体重を変数(fHeight、fWeight)へ代入。
fHeight = float(input(“身長[cm]を入力してください。“))
fWeight = float(input(“体重[kg]を入力してください。“))
##身長の単位を[cm]→[m]。
fHeight = fHeight / 100
##BMIの算出式
fBmi = fWeight / (fHeight ** 2)
##改行
print(“\n”)
##if文による条件分岐
##BMI値が18.5未満なら痩せてるをprint関数で表示。
if fBmi < 18.5:
print(“痩せてる“)
print(“BMI=”,”{:.2f}”.format(fBmi))
##BMI値が18.5~25.0未満なら標準をprint関数で表示。
elif fBmi >18.5 and fBmi < 25:
print(“標準“)
print(“BMI=”,'{:.2f}’.format(fBmi))
##BMI値が25.0~30.0未満なら肥満をprint関数で表示。
elif fBmi >25 and fBmi < 30:
print(“肥満“)
print(“BMI=”,'{:.2f}’.format(fBmi))
##BMI値が上記の範囲外なら高度肥満をprint関数で表示。
else:
print(“高度肥満“)
print(“BMI=”,'{:.2f}’.format(fBmi))
処理結果
身長[cm]を入力してください。160↓(エンター)
体重[kg]を入力してください。53↓(エンター)
標準
BMI= 20.70
体重[kg]を入力してください。53↓(エンター)
標準
BMI= 20.70
ソースコード 解説
コメントアウト
青字で記載している内容は、ソースコードの説明文でコメントといわれるものです。
文の先頭に、『##』をつけることで、プログラムとは別物であることを意味してます。
『##』をつけずにコメントを記載するとコンパイルエラーになるので注意が必要です。
文の先頭に、『##』をつけることで、プログラムとは別物であることを意味してます。
『##』をつけずにコメントを記載するとコンパイルエラーになるので注意が必要です。
コメント部分を見ていただくとソースコードの中で何をしているか大体わかると思います。
簡単に補足しておきますね。
変数
「fHeight」や「fWeight」、「fBmi」が変数にあたります。
プログラミング上の変数とは、簡単にいうと”入れ物”です。
プログラミング上での演算や条件分岐を容易にするため、変数に数値や文字を代入し使用します。
左辺に変数、” = ”を挟んで右辺に入れたい数値、文字を記載することで変数へ代入します。
プログラミング上での演算や条件分岐を容易にするため、変数に数値や文字を代入し使用します。
左辺に変数、” = ”を挟んで右辺に入れたい数値、文字を記載することで変数へ代入します。
四則演算
今回のソースコードでは、累乗、除算を使用しています。
その他はこんな感じです。
今回のソースコードでは、累乗、除算を使用しています。
その他はこんな感じです。
a+b加算
a– b減算
a* b乗算
a//b 除算(結果を切り下げ)
a%b 除算(a/bの剰余)
a– b減算
a* b乗算
a//b 除算(結果を切り下げ)
a%b 除算(a/bの剰余)
if文による条件分岐
書き方としては、こんな感じ。
if条件1 :
処理
elif 条件2 :
処理
else
処理
処理
elif 条件2 :
処理
else
処理
条件1に当てはまらなかったら、条件2へ。
条件1でも条件2でもなければ条件3へといった書き方になります。
if、elifの最後に”コロン:”をつけることを忘れないように。
逆に、elseの最後には”コロン:”は不要です。
条件1でも条件2でもなければ条件3へといった書き方になります。
if、elifの最後に”コロン:”をつけることを忘れないように。
逆に、elseの最後には”コロン:”は不要です。
print関数
コンソール画面上へ処理結果等を出力する関数です。関数については他サイトで詳しく解説されているので割愛しますが、よく使うものなので使い方は覚えておきましょう。
print関数は、「print」 +「 ()」 +「:」 の3要素で構成されています。
「()」内に出力したい数値等を記載しますが、文字列や数値等は「ダブルクォーテーション” ”」
もしくは「シングルクォーテーション’ ‘」で囲ってやる必要があります。
あと、「コロン:」は忘れずに。
print関数は、「print」 +「 ()」 +「:」 の3要素で構成されています。
「()」内に出力したい数値等を記載しますが、文字列や数値等は「ダブルクォーテーション” ”」
もしくは「シングルクォーテーション’ ‘」で囲ってやる必要があります。
あと、「コロン:」は忘れずに。
input関数
今回は対話形式のプログラムになっていますが、ユーザーの入力をプログラム上で使用するために、このinput関数を使用します。input関数は、「input」+「()」で2要素で構成されます。
使い方はおおむねprint関数と同じです。今回は、変数fHeight及びfWeightにユーザーの入力を格納し、後の算出に使用しています。ちなみに、「float」はinput関数とは関係ありません。
使い方はおおむねprint関数と同じです。今回は、変数fHeight及びfWeightにユーザーの入力を格納し、後の算出に使用しています。ちなみに、「float」はinput関数とは関係ありません。
変数の型
じゃあ、「float」って何?ってなると思うので少しだけ。
「float」は簡単にいうと、少数点を表示する変数だよーという印ようなものです。
変数には、このマークを付けてやることでどういう構成の変数かを示すことになるのですが、
これを「型」といい、他にも、整数を示す「int」や文字列を示す「str」等色々あります。
「float」は簡単にいうと、少数点を表示する変数だよーという印ようなものです。
変数には、このマークを付けてやることでどういう構成の変数かを示すことになるのですが、
これを「型」といい、他にも、整数を示す「int」や文字列を示す「str」等色々あります。
処理結果 解説
解説の前に、ソースコードの処理結果を確認するには、Pythonの統合開発環境の1つである、「Spyder」を使用することで簡単に行えます。「Spyder」の使用方法については、記事にまとめてるので、参考にしてください。
では、解説です。今一度、解析結果を確認しましょう。
身長[cm]を入力してください。160↓(エンター)
体重[kg]を入力してください。53↓(エンター)
標準
BMI= 20.70
体重[kg]を入力してください。53↓(エンター)
標準
BMI= 20.70
今回は、プログラムとユーザーの対話形式で成り立つツールです。
青マーカーで示した部分がプログラムの出力、これに対し、ユーザーが赤字部分を入力することになります。
処理の進み方としては、1行目から順番に処理が進みます。
「身長[cm]を入力してください。」とプログラムから出力があります。
(ユーザーの身長の入力をプログラムは待ち続けます)
これに対し、ユーザーが「160」+「エンターキー」を入力します。
すると、2行目、「体重[kg]を入力してください」とプログラムから出力がある・・・
といった具合に処理が進んでいき、「BMI=20.70」が出力されると、すべての処理が終了します。
まとめ
今回は、BMI値を算出、判定を行うユーザーとの対話型ツールを作成しました。
これで、基礎中の基礎である、
- 変数の宣言と代入
- 四則演算
- if文による条件分岐
- print関数
- Input関数
が身についたかと。
ネットで『BMI 算出』と調べると
同じように身長、体重をユーザーが入力し、BMI値と判定を出力するサイトが存在します。
これと同じことがPythonでできるようになった!と考えて良いと思います。
達成感、少しは味わえたのではないでしょうか?
私は結構感動しました。初心者でも結構できるもんだなと。。
また色々乗っけていこうかと思います。