跳到内容
🛠️ToolsShed

宏量营养素计算器

根据每日卡路里目标计算蛋白质、碳水化合物和脂肪的摄入量。支持均衡饮食、生酮、低碳水化合物和自定义比例。

蛋白质 30%碳水化合物 40%脂肪 30%

关于此工具

宏量营养素计算器能将每日热量目标转换为蛋白质、碳水化合物和脂肪各自的具体克数目标。你不必再去猜测一定的热量该如何分配到各类营养素,而是直接得到可以照着采购和烹饪的明确目标。

输入你的每日热量目标,再选择一种宏量配比,例如均衡型、低碳水或高蛋白。工具会立即显示该配比对应的蛋白质、碳水和脂肪克数,非常适合用于备餐、减脂或增肌,以及在饮食记录应用中跟踪每日摄入。

宏量营养素的需求因人而异,会随体型、活动量和目标的不同而变化,因此请将这些数字视为起点,而非医疗或营养师的建议。所有计算都在你的浏览器本地完成,热量目标和结果绝不会离开你的设备。

常见问题

代码实现

def calculate_macros(calories, protein_pct, carbs_pct, fat_pct, meals=3):
    """
    Calculate macronutrient grams from daily calorie goal.
    Protein & carbs: 4 kcal/g, Fat: 9 kcal/g
    """
    if abs(protein_pct + carbs_pct + fat_pct - 100) > 0.5:
        raise ValueError("Percentages must add up to 100")

    protein_kcal = calories * protein_pct / 100
    carbs_kcal   = calories * carbs_pct   / 100
    fat_kcal     = calories * fat_pct     / 100

    protein_g = protein_kcal / 4
    carbs_g   = carbs_kcal   / 4
    fat_g     = fat_kcal     / 9

    return {
        "daily":    {"protein": round(protein_g, 1), "carbs": round(carbs_g, 1), "fat": round(fat_g, 1)},
        "per_meal": {"protein": round(protein_g / meals, 1),
                     "carbs":   round(carbs_g   / meals, 1),
                     "fat":     round(fat_g      / meals, 1)},
        "calories": {"protein": round(protein_kcal), "carbs": round(carbs_kcal), "fat": round(fat_kcal)},
    }

PRESETS = {
    "balanced":    (30, 40, 30),
    "low_carb":    (40, 20, 40),
    "keto":        (35,  5, 60),
    "high_protein":(45, 35, 20),
}

# Example: 2000 kcal keto diet, 3 meals
result = calculate_macros(2000, *PRESETS["keto"], meals=3)
print("Daily macros:", result["daily"])
print("Per meal:    ", result["per_meal"])

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.