الدرس 8 من 10
كتابة الدوال
- 14 دقيقة
- 5 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
الكلمتان def وreturn والمُعامِلات
الشرح
الدالة مجموعة خطوات تعطيها اسمًا لأنك تحتاجها أكثر من مرّة، فتعرّفها مرّة واحدة بـ def ثم تستدعيها حيث شئت. وتستقبل الدالة مُدخلاتها في مُعامِلات (parameters)، وتسلّم نتيجتها بـ return، وreturn تُنهي الدالة فورًا.
ويمكنك أن تعطي المُعامِل قيمة افتراضية، فإذا عرّفت def clamp(value, low=0, high=100) أمكنك أن تستدعيها clamp(150) فقط، وتأخذ بقية المُعامِلات قيمها الافتراضية. وإذا أردت أن تغيّر مُعامِلًا بعينه فاذكر اسمه: clamp(150, high=120)، دون أن تكتب low ودون أن تحفظ ترتيب المُعامِلات.
وأشهر خطأ في الدوال أن تطبع النتيجة بدل أن تُرجعها، فتبدو صحيحة على الشاشة، لكن x = clamp(150) تجعل x تساوي None، لأن كل دالة ليس فيها return تُرجع None. فتذكّر أن print تعرض النتيجة لك أنت، وreturn تسلّمها للكود الذي استدعى الدالة.
المطلوب
اكتب الدالة clamp(value, low=0, high=100) لتُرجع value بعد أن تحصرها بين الحدّين، كما يُحصر مستوى الصوت أو نسبة التقدّم بين حدّ أدنى وحدّ أعلى، فما كان أقلّ من low يصير low، وما كان أكبر من high يصير high، وما بينهما يعود كما هو.
الفحوص
5 فحوص- تُرجع القيمة كما هي إن كانت بين الحدّين
- ما دون الحدّ الأدنى يصير 0
- ما فوق الحدّ الأعلى يصير 100
- يمكن تمرير high باسمه
- يمكن تمرير low باسمه