🛠️ToolsShed

Calculadora de Ingesta de Agua

Calcula tu ingesta diaria recomendada de agua según tu peso y actividad.

La calculadora de ingesta de agua estima cuánta agua debes beber cada día basándose en tu peso corporal, nivel de actividad y clima. La hidratación adecuada apoya la función renal, la digestión, la lubricación articular, la regulación de temperatura y el rendimiento cognitivo.

Introduce tu peso, nivel de actividad y si vives en un clima cálido o estás embarazada o amamantando. La herramienta calcula tu objetivo diario de agua en litros y tazas y te da una guía práctica sobre cómo distribuir esa ingesta a lo largo del día.

La vieja regla de "8 vasos al día" es una aproximación. Tus necesidades reales dependen de tu tamaño, cuánto sudas y el contenido de agua de tu comida. Una verificación práctica es el color de tu orina — amarillo pálido indica buena hidratación.

Preguntas Frecuentes

Implementación de Código

def daily_water_intake(weight_kg, activity_level='sedentary',
                        climate='temperate', exercise_hours=0):
    """
    Estimate daily water intake in litres.

    Parameters:
        weight_kg      - body weight in kilograms
        activity_level - 'sedentary' | 'light' | 'moderate' | 'active'
        climate        - 'temperate' | 'hot' | 'cold'
        exercise_hours - hours of exercise per day

    Returns recommended daily water intake in litres.
    """
    # Base: 35 mL per kg of body weight
    base_ml = weight_kg * 35

    # Activity adjustments (mL/day)
    activity_adj = {
        'sedentary': 0,
        'light':     300,
        'moderate':  600,
        'active':    900,
    }
    base_ml += activity_adj.get(activity_level, 0)

    # Exercise: ~500 mL per hour
    base_ml += exercise_hours * 500

    # Climate adjustments
    climate_adj = {'temperate': 0, 'hot': 750, 'cold': -250}
    base_ml += climate_adj.get(climate, 0)

    return round(base_ml / 1000, 2)  # convert to litres

def cups_from_litres(litres, cup_ml=250):
    """Convert litres to number of cups."""
    return round(litres * 1000 / cup_ml, 1)

# Examples
intake = daily_water_intake(70, 'moderate', 'temperate', 1)
print(f"Daily intake: {intake:.2f} L")
print(f"As cups (250 mL): {cups_from_litres(intake)}")

active = daily_water_intake(85, 'active', 'hot', 1.5)
print(f"Active in heat: {active:.2f} L")

Comments & Feedback

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