تنظيم بيانات المنتج: استخدم dict بدل قائمتين منفصلتين
في الدرس السابق حفظنا أسماء المنتجات في قائمة، والأسعار في قائمة أخرى. اليوم سنجعل كل منتج يحمل بياناته في مكان واحد باستخدام dict، ثم نحفظ كل المنتجات داخل قائمة واحدة.
ما النتيجة التي يجب أن تخرج بها؟
في نهاية الدرس ستفهم هذا الشكل:
product = {
"name": "Keyboard",
"price": 100
}
ثم تحفظ المنتج داخل قائمة المنتجات:
products = [] products.append(product)
لماذا نحتاج dict؟
في الدروس السابقة استخدمنا قائمتين:
product_names = [] product_prices = []
هذا يعمل، لكنه يجعل اسم المنتج في مكان والسعر في مكان آخر. إذا كبر المشروع، يصبح التنظيم أصعب.
أنشئ ملف الدرس الثاني والعشرين
افتح مجلد الدورة داخل VS Code:
python_course
ثم أنشئ ملفًا جديدًا باسم:
lesson_22.py
افتح الملف داخل Editor.
جرّب dict بسيط
اكتب:
product = {
"name": "Keyboard",
"price": 100
}
print(product)
النتيجة ستكون قريبة من:
{'name': 'Keyboard', 'price': 100}
كيف نقرأ قيمة من dict؟
إذا أردت اسم المنتج:
print(product["name"])
وإذا أردت السعر:
print(product["price"])
الفكرة: نستخدم اسم المفتاح داخل أقواس مربعة.
أنشئ قائمة products
بدل قائمتين منفصلتين، سنستخدم قائمة واحدة:
products = []
هذه القائمة ستحفظ المنتجات، وكل منتج سيكون dict.
أنشئ منتجًا من إدخال المستخدم
بعد أن يأخذ البرنامج اسم المنتج وسعره، ننشئ dict:
product = {
"name": product_name,
"price": price
}
ثم نضيفه إلى قائمة products:
products.append(product)
رتّب الكود النهائي على أجزاء
الجزء الأول: تجهيز القائمة والمتغيرات:
products = [] total = 0 name_prompt = "اسم المنتج أو done: " price_prompt = "سعر المنتج: "
الجزء الثاني: استقبال المنتج والسعر:
while True:
product_name = input(name_prompt).strip()
if product_name.lower() == "done":
break
price_text = input(price_prompt).strip()
price = float(price_text)
الجزء الثالث: إنشاء dict وإضافته للقائمة:
product = {
"name": product_name,
"price": price
}
products.append(product)
total = total + price
الجزء الرابع: طباعة التقرير:
print("----- تقرير المنتجات -----")
for product in products:
name = product["name"]
price = product["price"]
print(f"{name}: {price:.2f} ريال")
الجزء الخامس: طباعة العدد والإجمالي:
print(f"عدد المنتجات: {len(products)}")
print(f"الإجمالي: {total:.2f} ريال")
شغّل البرنامج
احفظ الملف:
Ctrl + S
ثم شغله:
python lesson_22.py
وإذا لم يعمل أمر python:
py lesson_22.py
اختبر البرنامج
جرّب هذه الإدخالات:
اسم المنتج أو done: Keyboard سعر المنتج: 100 اسم المنتج أو done: Mouse سعر المنتج: 50 اسم المنتج أو done: done
النتيجة المتوقعة:
----- تقرير المنتجات ----- Keyboard: 100.00 ريال Mouse: 50.00 ريال عدد المنتجات: 2 الإجمالي: 150.00 ريال
تحدي صغير: أضف كمية المنتج
أضف مفتاحًا جديدًا داخل product:
product = {
"name": product_name,
"price": price,
"quantity": 1
}
ثم في التقرير اقرأ الكمية:
quantity = product["quantity"]
اختبار نهاية الدرس
قبل الانتقال للدرس القادم، تأكد أنك فهمت هذه النقاط:
خلاصة الدرس
تعلمنا أن dict يسمح لنا بجمع بيانات المنتج في مكان واحد. بدل قائمتين منفصلتين للأسماء والأسعار، أصبح لدينا قائمة products تحتوي على منتجات منظمة.
تذكر القاعدة:
product = {
"name": product_name,
"price": price
}
products.append(product)
في الدرس القادم سنبدأ استخدام الدوال functions حتى نفصل أجزاء البرنامج ونجعل الكود أكثر احترافية وقابلية للتطوير.
💬 التعليقات
لا توجد تعليقات بعد.
🚫 يجب تسجيل الدخول لإضافة تعليق. دخول / تسجيل