はい、どーも!まっちゃんです!
Pythonを使ってBMIという肥満度を計測するプログラムをあなた自身の力で作れるようにしていこうというのが今回の内容になっております
BMIとは肥満度っと言われていたりして、その数値で自分が肥満か、やせ型なのかを判定する数値になります!
最近の体重計では身長を登録しておいて、体重を測ると勝手にBMIも測定してくれるものがありますよね!
そんな何気に記録している数値って「一体中身はどーなっているの?」って気になりませんか??
あるいはそれを「自分で設計できたらかっこいいな」っと思いませんか?
実はこのBMIを測定し、やせているか、太っているか判定するプログラムを作る過程の中にはプログラミングの大事な基本要素が詰まってます!
初心者が遊ぶのにもってこいなんですね!!
もちろん、コンピュータを今まで触ったことがない人でも全然OKです!
ですが、こちらIf文の知識が必要となりますので、まだ見てないよっという人は前回と前々回の記事を見てみると、より楽しめる内容になってますので、
もし今回の内容で分からないことが出てきたら、ぜひそちらもご覧ください!
初心者からBMIを計算するプログラムが作れる方法【If文の使い方①】「ストーリーで学ぶPython初心者プログラミング第6話」 | まっちゃんLabo (matchan-labo.com)
3つ以上の分岐処理”elif”を使おう【If文の使い方②】「ストーリーで学ぶPython初心者プログラミング第7話」 | まっちゃんLabo (matchan-labo.com)
第8話「BMIを計算して肥満度を調査せよ!(If文の使い方③)
「さあ、ついにBMI指数自分の手で設計するところに入っていくぜ!」
「おーう!!」
「ところでBMIって何か知ってる??」
「ん~健康かどーか分かる的な?」
「まあ、そんなところや(笑)」
「BMIってのは肥満度って言って、身長と体重からそのレベルを計算した結果なんだよね」
「これをいい感じに維持していくといいよって話もよくある」
「なるほど。まあ、体重計乗ったら一緒に出てくるけどあんまり気にしたことないな~」
「まだ若いから!!(笑)」
「けどこれを自分の力で作れるようになったら大きな進歩だよ」
「実際プログラミングやってない人に"あ、俺この間BMIを計算するプログラムを設計したよ"って言ったら"こいつすげー"ってなる」
「いいね!早くやってみよーぜ!」
「ちなみにBMIの計算方法はこんな感じだ」
BMI = 体重[kg] / (身長[cm]/100) ** 2
18.5未満:やせ型
18.5以上25未満:普通体重
25以上:肥満
「"**"ってのはべき乗だったな!"**2"で2乗だ」
「もちろん厳密に言ったらもっと分け方も細かいんだけど、最初はこんなもんでやってみよーか」
「OK!なんかできそーだ!!」
1 2 3 4 5 6 7 8 9 10 |
a = 65 b = 170 c = a / (b / 100) ** 2 if c < 18.5: print("やせ型") elif 18.5 <= c < 25: print("ふつー体重") else: print("肥満") |
1 |
ふつー体重 |
「perfect!いいね!実行結果もちゃんと出てる」
「これでバイアはBMIを計算するプログラム自分で作れるようになった」
「うおぉぉー!!やったぜ!!」
「ちなみに変数をこんな感じでもっと分かりやすくしてみるともっとかっこよくなるぞ」
1 2 3 4 5 6 7 8 9 10 |
weight = 65 high = 170 bmi = weight / (high / 100) ** 2 if bmi < 18.5: print("やせ型") elif 18.5 <= bmi < 25: print("ふつー体重") else: print("肥満") |
「あーなるほど!aとかbを体重のweightと身長のhighにしてるわけね!しかもBMIはそのままbmiって変数にしてる」
「たしかにそーやって置いた方が分かりやすいな」
「これもプログラミングする時の一つのアイデアだね」
「まあ、普段はweightとかhighっていちいち全部書くのめんどーだから、もう"w"と"h"で省略しちゃうけどw」
「もはや一文字ね(笑)」
「さあ、このプログラムをもっと面白くしてみるぜ?」
「え、一体どんなことをやるつもりだ!??」
「ちょっとこのプログラムを動かしてみてくれ」
1 2 3 4 5 6 7 8 9 10 |
w = int(input("体重[kg]は?:")) h = int(input("身長[cm]は?:")) bmi = w / (h / 100) ** 2 if bmi < 18.5: print("やせ型") elif 18.5 <= bmi < 25: print("ふつー体重") else: print("肥満") |
「ほう。よー分からんがとりあえず実行してみるぞ?」
1 |
体重[kg]は?: |
「え、なにこれ?」
「体重聞かれてるぞ?」
「ここに入力するのか??」
「そう」
1 |
体重[kg]は?:65 |
「これでいっか」
1 2 |
体重[kg]は?:65 身長[cm]は?: |
「今度は身長を聞かれた?!!」
「こっちもさっきと同じだよ」
1 2 |
体重[kg]は?:65 身長[cm]は?:170 |
「じゃあこーしとくか」
「これでEnter押してみ?」
1 2 3 |
体重[kg]は?:65 身長[cm]は?:170 ふつー体重 |
「おおー!ふつー体重って出てきた!!」
「これは一体どーなんてんだ!??」
「ふっふっふ~!(笑)」
「これはinput()のマジックさ♪」
「input()...あ!変数のところにあるこれか!!」
1 2 |
w = int(input("体重[kg]は?:")) h = int(input("身長[cm]は?:")) |
「そゆこと♪」
「これは" "の中身を表示させて、キーボードから得られたデータを整数型に変換してから、その変数に代入するものなのだ!」
「???」
「えっと...どゆこと??(笑)」
「つまり、変数に入れる数字をキーボードで操作できるってこと!」
「ほーう...今までのとは何が違うの??」
「今まではプログラムを実行する前に自分で変数を代入してたでしょ?」
「うん」
「今回のはプログラムを実行してる最中に変数を代入してるのよ!」
「え、別にそんなことしなくても今まで通りでよくない?」
「まあ、たしかに今の段階ではそんなややこしいことしなくてもいいよな」
「うん。めんどー」
「でももしこの計算プログラムを何も知らない友達に使ってもらうことを考えてみ?」
「どっちの方が使いやすそー??」
「そりゃ後でショーセ―が作ったプログラムかな。体重聞かれたし、それ通りに操作してけばBMI計算してくれたから」
「だろ?こっちの方がスマートに見えるぞ??(笑)」
「それだけでもこれを使って遊んでみる価値は全然ある(笑)」
「じゃあさ、じゃあさ、そこにくっついてるint()ってのはなに??」
「ほーう!いいところに目を付けたな!」
「これは整数型にするって関数でまだやってない考え方だ」
「今日はもう疲れたからあんま詳しくは解説しないけど、いずれやるさ」
「整数型か~。こりゃまた聞いたことないな」
「とりあえずさ、BMI作れるプログラムが作れるよーになったな」
「これはすごいことなんだぞ?おめでとう!」
「おう!早くゲーム作れるよーになりたいぜ」
「このままやってけばそー遠くないな」
「まあ、このまま楽しんでいこーぜ」
「おう!とりあえずまた今度時間あったらやろーよ」
「いいぜ!またやろう」
「んじゃ、今日はここで変えるわ」
「ほーい!またよろしく!」
プログラミングの基本テクはまだまだある。しかし、このような小さな達成感が次の勉強へのモチベーションになる。バイアもそれを感じることができたようだ。
今回のまとめ
input()の使い方
1 |
<strong>a = input("〇〇")</strong> |
〇〇を表示して、キーボードから入力された値をaに代入する