تطبيقات
تعريف الفعل فعل مساعد للبرمجة وليس هو تنفيذيًّا بذاته. لذا ستكون تطبيقات هذا الجزء عبارة عن قولَبة التطبيقات السابقة بتعريفها في أفعال:
طول الخط المستقيم بين نقطتين
في هذا المثال نعرف نقطتين ثم نحسب المسافة بينهما. والمسافة الإقليدية بين نقطتين \((x_1, y_1)\) و \((x_2, y_2)\) تتبع معادلة فيثاغورس:
\[ \text{distance} = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2} \]
وتذكر أن:
\[ \sqrt{x} = x^{1/2} \]
كم سيكون عمرك عند حين كذا؟
حساب الأجر
الوزن الطبيعي
هذا هو وزن الجسم الموصى به من قبل منظمة الصحة العالمية (WHO) استنادًا إلى قيم مؤشر كتلة الجسم للبالغين. ويستخدم لكل من الرجال والنساء الذين تبلغ أعمارهم 20 عامًا أو أكثر.
التصنيف | مدى BMI - kg/m2 |
---|---|
نحف شديد | < 16 |
نحف متوسط | 16 - 17 |
نحف خفيف | 17 - 18.5 |
طبيعي | 18.5 - 25 |
زيادة في الوزن | 25 - 30 |
سمنة خفيفة | 30 - 35 |
سمنة ثانية | 35 - 40 |
سمنة ثالثة | > 40 |
لحساب مؤشر كتلة الجسم (BMI)، نستعمل المعادلة التالية:
\[ BMI = \frac{weight}{height^2} \]
def calculate_bmi(weight: float, height: float) -> float:
return weight / height**2
def classify_bmi(bmi: float) -> str:
if bmi < 16:
return 'severe_thinness'
elif bmi < 17:
return 'moderate_thinness'
elif bmi < 18.5:
return 'mild_thinness'
elif bmi < 25:
return 'normal'
elif bmi < 30:
return 'overweight'
elif bmi < 35:
return 'obese_class_1'
elif bmi < 40:
return 'obese_class_2'
else:
return 'obese_class_3'
assert classify_bmi(bmi=15) == 'severe_thinness'
assert classify_bmi(bmi=20) == 'normal'
assert classify_bmi(bmi=40) == 'obese_class_3'
مجموع الأرقام إلى س
ما نريد صياغته هو مجموع الأرقام من 1 إلى n
:
حلها بالتكرار باستعمال range
لإنشاء تسلسل الأرقام للتكرار عليها، ولاحظ أن النهاية n+1
ليكون الرقم الأخير مشمولاً في التكرار:
وحلها بالفعل المتسلسل:
وإذا صغناها رياضيًّا وعلمنا المعادلة الرياضية، فلا حاجة للتكرار أصلاً:
\[ \sum_{i=1}^{n} i = \frac{n(n + 1)}{2} \]