الدرس 10 من 10
الصفوف والمجموعات
- 12 دقيقة
- 5 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
تفكيك وقيم فريدة
الشرح
الصفّ (tuple) قائمة لا تتغيّر: point = (4, 9). تستعمله لقيم تأتي معًا ولا يُفترض أن تتبدّل، كإحداثيات نقطة أو قيمتين تُرجعهما دالة. وأنفع ما فيه التفكيك: x, y = point يوزّع العناصر على الأسماء بترتيبها.
ومن التفكيك يأتي تبديل قيمتين في سطر: a, b = b, a. الطرف الأيمن يُحسب كاملًا أوّلًا ثم يُوزَّع، فلا حاجة إلى متغيّر ثالث.
والمجموعة (set) تحفظ كل قيمة مرّة واحدة، فـ set(names) تحذف المكرّر. وعملياتها أسئلة جاهزة: a & b المشترك، وa | b الكل، وa - b ما في الأولى وحدها. لكنها بلا ترتيب: لا تعتمد على ترتيب طباعتها، ورتّبها بـ sorted() للعرض. و{} قاموس فارغ لا مجموعة؛ المجموعة الفارغة set().
المطلوب
سُجّلت القائمتان بالعكس: بدّل morning وevening في سطر واحد. ثم احسب مجموعات: unique_morning حضور الصباح بلا تكرار، وboth من حضر المحاضرتين، وeveryone كل من حضر ولو مرّة، وmorning_only من حضر الصباح وحده.
معايير التصحيح
5 معايير- morning و evening تبادلا
- unique_morning حضور الصباح بلا تكرار
- both من حضر المحاضرتين
- everyone كل من حضر ولو مرّة
- morning_only من حضر الصباح وحده