칼로리 계산기
나이, 체중, 키, 활동량을 기반으로 일일 칼로리 필요량을 계산합니다.
Mifflin-St Jeor 공식을 기반으로 한 추정치입니다. 개인화된 영양 상담은 의료 전문가나 영양사에게 문의하세요.
칼로리 계산기는 개인 특성과 피트니스 목표를 기반으로 일일 칼로리 필요량을 추정합니다. 기초대사율(안정시 소모 칼로리)과 활동 수준을 결합하여 유지 칼로리를 찾은 다음, 체중 감량, 유지 또는 근육 증가 목표에 따라 그 수치를 조정합니다.
나이, 키, 체중, 성별, 활동 수준을 입력한 다음 목표를 선택합니다: 지방 감소를 위한 칼로리 적자(일반적으로 유지량보다 250-500칼로리 낮음), 체형 재구성을 위한 유지, 또는 근육 증가를 위한 잉여. 도구는 널리 받아들여진 영양 지침에 따라 권장 일일 칼로리, 단백질, 탄수화물, 지방 목표를 보여줍니다.
이 수치들은 시작 추정치입니다. 모든 사람의 대사는 약간씩 다르므로, 몇 주 동안 체중과 에너지 수준을 추적하고 결과가 기대와 맞지 않으면 섭취량을 100-200칼로리 조정하세요.
자주 묻는 질문
코드 구현
def bmr_mifflin(weight_kg, height_cm, age, sex):
"""
Mifflin-St Jeor BMR formula.
Parameters:
weight_kg - body weight in kilograms
height_cm - height in centimetres
age - age in years
sex - 'male' or 'female'
Returns Basal Metabolic Rate in kcal/day.
"""
bmr = 10 * weight_kg + 6.25 * height_cm - 5 * age
return bmr + 5 if sex == "male" else bmr - 161
ACTIVITY_MULTIPLIERS = {
"sedentary": 1.2, # little or no exercise
"light": 1.375, # 1-3 days/week
"moderate": 1.55, # 3-5 days/week
"active": 1.725, # 6-7 days/week
"very_active": 1.9, # twice/day or physical job
}
def tdee(weight_kg, height_cm, age, sex, activity_level="moderate"):
"""Total Daily Energy Expenditure = BMR × activity multiplier."""
b = bmr_mifflin(weight_kg, height_cm, age, sex)
return b * ACTIVITY_MULTIPLIERS[activity_level]
def macros(calories, protein_pct=0.30, carb_pct=0.40, fat_pct=0.30):
"""
Split calories into macronutrient grams.
Default split: 30% protein / 40% carbs / 30% fat.
protein & carbs = 4 kcal/g; fat = 9 kcal/g.
"""
return {
"protein_g": calories * protein_pct / 4,
"carbs_g": calories * carb_pct / 4,
"fat_g": calories * fat_pct / 9,
}
# Example: 30-year-old male, 80 kg, 175 cm, moderately active
b = bmr_mifflin(80, 175, 30, "male")
t = tdee(80, 175, 30, "male", "moderate")
m = macros(t)
print(f"BMR: {b:.0f} kcal/day")
print(f"TDEE (moderate): {t:.0f} kcal/day")
print(f"Protein: {m['protein_g']:.0f} g")
print(f"Carbs: {m['carbs_g']:.0f} g")
print(f"Fat: {m['fat_g']:.0f} g")
# Weight-loss / gain targets
print(f"\nWeight loss (-500 kcal): {t - 500:.0f} kcal/day")
print(f"Weight gain (+500 kcal): {t + 500:.0f} kcal/day")
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.