Калькулятор потребления воды
Рассчитывает рекомендуемое суточное потребление воды на основе веса и уровня активности.
Калькулятор потребления воды оценивает, сколько воды нужно выпивать в день с учётом веса тела, уровня активности и климата. Достаточное увлажнение поддерживает работу почек, пищеварение, смазку суставов, терморегуляцию и когнитивные функции.
Введите вес, уровень активности и укажите, живёте ли вы в жарком климате или находитесь в период беременности/лактации. Инструмент рассчитает суточную норму воды в литрах и стаканах с практическими рекомендациями по распределению потребления в течение дня.
Старое правило «8 стаканов в день» — грубое приближение. Реальная потребность зависит от массы тела, интенсивности потоотделения и водного содержания пищи. Практический ориентир — цвет мочи: бледно-жёлтый говорит о достаточном увлажнении, тёмно-жёлтый — о необходимости пить больше.
Часто задаваемые вопросы
Реализация кода
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.