Мини-программа, скрипт, который считает ИМТ (индекс массы тела) и классифицирует результат по всем канонам ВОЗ.
from typing import Optional
def calculate_bmi(weight: float, height: float) -> Optional[float]:
"""Вычисляет индекс массы тела (ИМТ)."""
try:
bmi = weight / (height ** 2)
return round(bmi, 2)
except ZeroDivisionError:
print("❌ Рост не может быть равен нулю.")
return None
def interpret_bmi(bmi: float) -> str:
"""Интерпретирует значение ИМТ по классификации ВОЗ."""
if bmi < 18.5:
return "Недостаточный вес"
elif 18.5 <= bmi < 25:
return "Нормальный вес"
elif 25 <= bmi < 30:
return "Избыточный вес"
elif 30 <= bmi < 35:
return "Ожирение I степени"
elif 35 <= bmi < 40:
return "Ожирение II степени"
else:
return "Ожирение III степени"
def main() -> None:
print("🧮 Калькулятор Индекса Массы Тела (ИМТ)")
while True:
print("\nМеню:")
print("1. Рассчитать ИМТ")
print("2. Выйти")
choice = input("Выберите действие (1-2): ").strip()
if choice == "1":
try:
weight = float(input("Введите вес (кг): ").strip())
height = float(input("Введите рост (в метрах): ").strip())
bmi = calculate_bmi(weight, height)
if bmi is not None:
category = interpret_bmi(bmi)
print(f"\nВаш ИМТ: {bmi}")
print(f"Категория: {category}")
except ValueError:
print("❌ Пожалуйста, введите числовые значения.")
elif choice == "2":
print("До встречи! 🖖")
break
else:
print("Неверный выбор. Попробуйте снова.")
if __name__ == "__main__":
main()
Сохраняй себе и делись с другом, которому давно пора в зал
@python2day
#python #code #soft