الدرس 9 من 10

الدوال المدمجة

هدف الدرس

أسئلة البيانات في سطر

01

الشرح

كثير من الحلقات تسأل سؤالًا واحدًا: هل يوجد؟ هل الكلّ؟ ما الأكبر؟ كم المجموع؟ ولكل سؤال منها دالة مدمجة تجيبه في سطر يُقرأ كالسؤال نفسه.

any() صحيحة إن تحقّق الشرط في عنصر واحد على الأقل، وall() إن تحقّق في الكلّ، وكلتاهما تتوقّف عند أول جواب حاسم. وmax(items, key=...) تُرجع العنصر صاحب أكبر مفتاح لا المفتاح نفسه، كما في sorted.

وتمرّر إليها تعبيرًا مولّدًا: sum(n * n for n in nums). هو التعبير المختصر بلا أقواس مربّعة، يُنتج القيم واحدة تلو الأخرى ولا يبني قائمة في الذاكرة.

والفخّ في الحدود: all([]) صحيحة لأنه لا عنصر يخالف، وmax([]) ترمي ValueError. فإن كانت القائمة قد تفرغ فمرّر default= إلى max وmin.

02

المطلوب

من products احسب بلا حلقات: total_stock مجموع الكميات، وhas_out هل نفد منتج (كميته صفر)، وall_priced هل كل الأسعار موجبة، وpriciest المنتج الأغلى كاملًا، وcheapest_name اسم الأرخص.

معايير التصحيح

6 معايير
  1. total_stock مجموع الكميات
  2. has_out: يوجد منتج نفد
  3. all_priced: كل الأسعار موجبة
  4. priciest المنتج الأغلى كاملًا لا سعره
  5. cheapest_name اسم الأرخص
  6. بالدوال المدمجة وتعبيرات مولّدة، بلا حلقة ولا قائمة وسيطة
main.py
المخرجاتPython · Pyodide

جارٍ تحميل بيئة بايثون… تُحمَّل مرّة واحدة ثم يحفظها المتصفح.

–/6

يبدأ الفحص حين تجهز البيئة.

6 معايير في بطاقة «المطلوب».