تحديث المخزون
جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 69 من 78.
التحدي
سهلقم بإنشاء دالة باسم update_stock تأخذ وسيطين: item (سلسلة نصية) و quantity (عدد صحيح). يجب أن تقوم الدالة بما يلي:
- التحقق مما إذا كان العنصر موجوداً في قاموس
inventory.- إذا لم يكن موجوداً، قم بطباعة
"Error: Item '<item>' not found.".
- إذا لم يكن موجوداً، قم بطباعة
- إذا كان العنصر موجوداً، قم بحساب المخزون الجديد عن طريق إضافة
quantityإلى المخزون الحالي.- إذا كان المخزون الجديد سالباً، قم بطباعة
"Error: Insufficient stock for '<item>'."ولا تقم بالتحديث. - خلاف ذلك، قم بتحديث المخزون في
inventory.
- إذا كان المخزون الجديد سالباً، قم بطباعة
- اطبع
"Stock for '<item>' updated successfully.".
أضف (استبدل) كتلة الكود التالية في أسفل الكود الخاص بك:
add_item("Apple", 0.5, 100)
add_item("Banana", 0.2, 50)
add_item("Apple", 0.6, 30) # Should print an error
update_stock("Apple", -20)
update_stock("Banana", 30)
update_stock("Orange", 10) # Should print an error
update_stock("Apple", -90)
print(inventory) جرّب بنفسك
inventory = {}
def add_item(item, price, stock):
if item in inventory:
print(f"Error: Item '{item}' already exists.")
return
try:
inventory[item] = {"price": float(price), "stock": int(stock)}
print(f"Item '{item}' added successfully.")
except ValueError:
print("Error: Price and stock must be numeric.")
add_item("Apple", 0.5, 100)
add_item("Banana", 0.2, 50)
add_item("Apple", 0.6, 30) # Should print an error
print(inventory) جميع دروس Logic & Flow
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوق