Перейти к содержимому

Калькулятор макронутриентов

Рассчитайте ежедневные цели по белкам, углеводам и жирам на основе вашей калорийной цели. Поддержка сбалансированного, кето, низкоуглеводного и пользовательского рациона.

Белки 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.