الدرس 5 من 10

القوائم وتعديلها

هدف الدرس

أضف واحذف وانسخ

01

الشرح

القائمة تجمع قيمًا بترتيب: queue = ["سارة", "عمر"]. تقرؤها كالنصّ تمامًا: queue[0] الأول، وqueue[-1] الأخير، وqueue[:2] أول اثنين في قائمة جديدة. وlen(queue) عددها، و"عمر" in queue سؤال عن وجوده.

والفرق عن النصّ أنها تتغيّر: append(x) تضيف في الآخر، وinsert(0, x) في الموضع الذي تختاره، وremove(x) تحذف أول ظهور للقيمة، وpop(0) تحذف بالموضع وتُرجع ما حذفته. كلها تعدّل القائمة نفسها ولا تُرجع قائمة جديدة.

ومن هنا أشهر أخطائها: b = a لا ينسخ شيئًا، بل يعطي القائمة نفسها اسمًا ثانيًا. تعدّل b فتتغيّر a معها. النسخة المستقلّة هي a.copy().

02

المطلوب

اجعل queue نسخة من original وعدّلها هي وحدها: خالد ينضمّ إلى آخر الطابور، ونور تتقدّم إلى أوّله لأن لها الأولوية، وعمر يغادر. ثم يُخدم الأول: احذفه واحفظه في served. وأخيرًا next_two: أول اثنين في الطابور بعد ذلك.

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

6 معايير
  1. original لم يتغيّر: queue نسخة لا اسم ثانٍ
  2. خالد في آخر الطابور
  3. عمر غادر الطابور
  4. served هي نور: خُدمت أوّلًا
  5. الطابور بعدها: سارة ثم ليان ثم خالد
  6. next_two أول اثنين في الطابور
main.py
المخرجاتPython · Pyodide

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

–/6

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

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