必要カロリーを計算するアプリ
4月から心機一転、ダイエットをしたいと思いました。
世の中にダイエットアプリってめちゃくちゃあって、かなり便利なのですが、
今回はあえてそれを自分で作りたい。
食事内容を入力して、成分を計算して必要カロリーを超えていないか判断してくれるようなもの。体重とかもグラフにしたい。
ということで頑張ったのだが、
import math
import pandas as pd
from tkinter import *
import tkinter.messagebox as mb
import tkinter.simpledialog as sd
import tkinter.ttk as ttk
df_info=pd.read_csv("食事表.csv", parse_dates=[0])
root = Tk()
root.title('自己管理アプリ') # 画面タイトル設定
root.geometry('500x500') # 画面サイズ設定
root.resizable(False, False) # リサイズ設定
frame1 = Frame(root, width=500, height=250, borderwidth=2, relief='solid')
frame2 = Frame(root, width=500, height=250, borderwidth=2, relief='solid')
# フレームを配置(grid)
frame1.grid(row=0, column=0)
frame2.grid(row=1, column=0)
# フレームサイズを固定
frame1.propagate(False)
frame2.propagate(False)
# label(フレーム左上)
label_1a = Label(frame1, text='体重を入力してください', font=('', 14))
label_1a.pack()
#必要カロリーを計算する関数
def control():
BW =float(entry_2b.get())
# TDR=BMR*AF*SF
# BMRはハリスベネディクトで計算
IBW = 1.66 ** 2 * 22
if BW > IBW:
cBW = IBW
else:
cBW = BW
BMR = 66.47 + (13.75 * cBW) + (5 * 「身長」) - (6.76 * 「年齢」)
AF = 1.75
SF = 1
TDR = math.floor(BMR * AF * SF)
intake = math.floor(TDR - 500)
# タンパク質1g/kg
TP = BW * 4
gram_TP = math.floor(BW)
# 脂質はintakeの25%
FA = intake * 0.25
gram_FA = math.floor(FA / 9)
# 炭水化物は残り
Ca = intake - TP - FA
gram_Ca = math.floor(Ca / 4)
label_2b = Label(frame1, text="一日必要カロリーは" + str(TDR) + "です\n一日摂取カロリーは" + str(intake)
+ "です\n炭水化物は" + str(gram_Ca) + "gまで\nタンパク質は" + str(gram_TP)
+ "gまで\n脂質は" + str(gram_FA) + "gまで", font=('', 14))
label_2b.pack()
entry_2b = Entry(frame2, width=14)
button_2b = Button(frame2, text='決定', cursor='hand2', command=control)
combobox = ttk.Combobox(frame1, height=3, values=list(df_info["商品名"]))
#配置
entry_2b.pack()
button_2b.pack()
combobox.pack()
root.mainloop()
全然進んでないけどちょっと今日は疲れたのでここまで
今回は完全自分用で、「身長」と「年齢」は実数入れてるので秘密(活動係数とストレス係数も本当は人によって違うので変数)。
とりあえずは
体重計算→カロリー表示
その後に、
プルダウンで今まで食べた食事が表示されて選べるようにしたい。
が、プルダウンも初めから表示されてしまってるので、フレームを一旦消去しなきゃいけないんですかね。
また修正します。
そういえば、活動係数1.75にしたけどプログラミングって消費カロリーどうなんだろう。
…座りっぱなしだから低そうだな笑
参考文献:「医師1年目からの わかる、できる!栄養療法 〜患者にあわせた投与ルートや輸液・栄養剤の選択など、根拠をもって実践するためのキホン」
→小児科の本じゃないけど小児科になってから買った本。たまにつかう。たまに。