#はじめに
僕は最近、バイトや教習所に行っているせいで深夜にご飯を食べることがよくあります。なので、太ったのではないかと思い、自分が今どういった体系なのか知りたくなったのでBMIを測定するツールを作ってみました。
#手順
###1.ウィンドウを表示する
qiita.py
root=tk.Tk()
root.geometry("400x300")
root.title("BMI診断ツール")
###2.ウィンドウに必要なものを表示する
身長、体重のラベルと、身長、体重、BMI、体系のテキストボックス、ボタンををそれぞれ用意する。そして、それらを適切な場所に配置する。
qiita.py
#ラベルを作る
height_lavel=tk.Label(text="身長(m)")
height_lavel.place(x=60,y=50)
weight_lavel=tk.Label(text="体重(kg)")
weight_lavel.place(x=60,y=80)
bmi_lavel=tk.Label(text="BMI")
bmi_lavel.place(x=60,y=200)
result_lavel=tk.Label(text="あなたの体系は?")
result_lavel.place(x=50,y=240)
#テキストボックスを作る
height_box=tk.Entry(width=20)
height_box.place(x=140,y=50)
weight_box=tk.Entry(width=20)
weight_box.place(x=140,y=80)
bmi_box=tk.Entry(width=20)
bmi_box.place(x=140,y=200)
result_box=tk.Entry(width=20)
result_box.place(x=140,y=240)
#ボタンを作る
buttonl=tk.Button(root,text="診断する",font=("Halvetica",14),command=Buttonclick)
buttonl.place(x=140,y=130)
###3.出力の条件を考える
BMIは体重(kg)/身長(m)x身長(m)なのでこの式に当てはめてBMIを出力させます。また今回はBMIが18.5を下回ると「瘦せ型」、18.5から25の間で「標準体型」、25以上で「肥満」というコメントも出力されるようにしました。
qiita.py
height=float(height_box.get())
weight=float(weight_box.get())
bmi=weight/(height*height)
if bmi<18.5:
result = "痩せ型"
elif 18.5<=bmi<25:
result = "標準体型"
elif 25<=bmi:
result = "肥満"
result_box.delete(0,tk.END)
result_box.insert(0,result)
###4.ボタンを押してプログラムが実行されるようにする
qiita.py
def Buttonclick():
#結果
無事に出力できました。
#ソースコード
qiita.py
#codimg:utf-8
import tkinter as tk
def Buttonclick():
height=float(height_box.get())
weight=float(weight_box.get())
bmi=weight/(height*height)
bmi_box.delete(0,tk.END)
bmi_box.insert(0,bmi)
if bmi<18.5:
result = "痩せ型"
elif 18.5<=bmi<25:
result = "標準体型"
elif 25<=bmi:
result = "肥満"
result_box.delete(0,tk.END)
result_box.insert(0,result)
#ウィンドウを作る
root=tk.Tk()
root.geometry("400x300")
root.title("BMI診断ツール")
#ラベルを作る
height_lavel=tk.Label(text="身長(m)")
height_lavel.place(x=60,y=50)
weight_lavel=tk.Label(text="体重(kg)")
weight_lavel.place(x=60,y=80)
bmi_lavel=tk.Label(text="BMI")
bmi_lavel.place(x=60,y=200)
result_lavel=tk.Label(text="あなたの体系は?")
result_lavel.place(x=50,y=240)
#テキストボックスを作る
height_box=tk.Entry(width=20)
height_box.place(x=140,y=50)
weight_box=tk.Entry(width=20)
weight_box.place(x=140,y=80)
bmi_box=tk.Entry(width=20)
bmi_box.place(x=140,y=200)
result_box=tk.Entry(width=20)
result_box.place(x=140,y=240)
#ボタンを作る
buttonl=tk.Button(root,text="診断する",font=("Halvetica",14),command=Buttonclick)
buttonl.place(x=140,y=130)
root.mainloop()
#感想
初めて自分で何か動くものをpythonで作れました。なかなか時間はかかったけど、完成した時はとても嬉しかったです。また夏休みにでもpythonでこのようなものを作ってみようかなと思います。
#参考文献
-
「いちばんやさしいPython入門教室」大澤文孝[著]