الدرس 9 من 10

القواميس والمفاتيح

هدف الدرس

ابحث بالمفتاح لا بالموضع

01

الشرح

القاموس يربط مفتاحًا بقيمة: stock = {"قلم": 12, "دفتر": 5}. تصل إلى القيمة باسمها لا بموضعها: stock["قلم"]، وتضيف أو تغيّر بالإسناد نفسه: stock["مسطرة"] = 7. وهذا أسرع وأوضح من البحث في قائمة كلما أردت قيمة.

وupdate تدمج قاموسًا في آخر دفعة واحدة: المفتاح الموجود تُستبدل قيمته، والجديد يُضاف. وitems() تعطيك المفتاح والقيمة معًا في الحلقة: for item, qty in stock.items():.

والفخّ: stock["حقيبة"] لمفتاح غير موجود ترمي KeyError وتوقف البرنامج. حين يكون الغياب محتملًا فاسأل أوّلًا بـ "حقيبة" in stock، أو اطلب بـ stock.get("حقيبة", 0): تُرجع القيمة إن وُجدت والافتراضي إن لم توجد، ولا تضيف شيئًا إلى القاموس.

02

المطلوب

جاء جرد جديد: حدّث stock بـ update ليصير الدفتر 20 وتدخل المسطرة بـ 7. ثم bags: كمية «حقيبة» بـ get وافتراضيها 0. ثم available: قائمة بأسماء ما كميته أكبر من صفر، بترتيب القاموس.

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

5 معايير
  1. الدفتر صار 20 والمسطرة دخلت بـ 7
  2. القلم والممحاة كما كانا
  3. bags صفر لصنف غير موجود
  4. السؤال لم يُضف «حقيبة» إلى stock
  5. available فيها المتوفّر وحده بترتيبه
main.py
المخرجاتPython · Pyodide

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

–/5

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

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