برمج: مؤشر كتلة الجسم

أكمل الدالة calculate_bmi لحساب مؤشر كتلة الجسم بقسمة الوزن على مربع الطول، مع تقريب النتيجة إلى منزلتين عشريتين. ثم أكمل classify لتحديد فئة المؤشر المقرب وإرجاع اسمها بالإنجليزية. يتولى main.py عرض الفئة بالعربية. الوزن بالكيلوغرام والطول بالمتر.

يشير weight إلى الوزن بالكيلوغرام، وheight إلى الطول بالمتر. مثلًا، نحسب 70 ÷ (1.75 × 1.75) ثم نقرّب الناتج إلى منزلتين عشريتين، فنحصل على 22.86.

رسم يوضح فئات مؤشر كتلة الجسم، من نقص الوزن إلى درجات السمنة

يوضح الرسم فئات المؤشر. في هذا البرنامج، نجمع درجات السمنة الثلاث في فئة واحدة: obesity لكل مؤشر يبلغ 30 فأكثر.

المؤشر الفئة في الرسم القيمة التي تعيدها classify
أقل من 18.5 نقص الوزن "underweight"
من 18.5 إلى ما قبل 25 وزن طبيعي "normal weight"
من 25 إلى ما قبل 30 زيادة الوزن "overweight"
من 30 إلى ما قبل 35 سمنة من الدرجة الأولى "obesity"
من 35 إلى ما قبل 40 سمنة من الدرجة الثانية "obesity"
40 فأكثر سمنة من الدرجة الثالثة "obesity"

مثلًا، calculate_bmi(70.0, 1.75) تعيد 22.86، وتمرير هذه القيمة إلى classify يعيد "normal weight".

أمثلة

في المثال الثاني، ينتج الحساب 18.496، ثم يصبح المؤشر 18.5 بعد التقريب؛ لذلك ينتمي إلى فئة الوزن الطبيعي.

مساحة العمل

أكمل الدالتين في body_mass.py مع إبقاء رأسيهما ونصي توثيقهما. شغّل هذا الملف لفحص أمثلة التوثيق، ثم شغّل main.py لإدخال الوزن والطول وعرض الفئة.

شرح الحل