TGViewer
[PYTHON:TODAY] [PYTHON:TODAY] @python2day · 63.6K subscribers
Post #6606 12.3K
🔥 Прокачиваем Python + здоровье за 15 минут

Мини-программа, скрипт, который считает ИМТ (индекс массы тела) и классифицирует результат по всем канонам ВОЗ.

👨‍💻 Что умеет:
🖱 Учитывает все категории: от недостатка веса до ожирения III степени;
🖱 Работает в терминале, как интерактивное меню;
🖱 Чистый код с аннотациями и обработкой ошибок;
🖱 Подойдёт новичкам и не только.

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
  • 👍 54
  • 😱 8
  • ❤ 7
  • 🔥 7
  • 🫡 1
More from @python2day
  1. Oct 13, 2026👁👁 Тестовый собес на Python с разработчиком из Яндекса [+ ответы на 50 сложных вопросов…
  2. Oct 13, 2026⚡️ Обновленный Avito Parser — инструмент с открытым исходным кодом, который автоматически…
  3. Oct 13, 2026⚡️ Обновленный Avito Parser — инструмент с открытым исходным кодом, который автоматически…
  4. Oct 13, 2026😱 Т—технолоджия. Видали агрегат? Так и писать никто не научится. С добрым утром! ☕️
  5. Oct 11, 2026😂 Олды тут? Цены на ОЗУ росли не зря... ⚔️
  6. Oct 11, 2026🤖 Делаем Opus 5.5 дешевле до 90%! Вам наверняка знакомо, когда до MVP остаётся всего пару…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →