برمج: علبة الدهان الممتلئة

اكتب صنفًا يمثّل علبة دهان تبدأ ممتلئة، وبرنامج محادثة يسحب منها ويعيد إليها الدهان ضمن سعتها.

المطلوب البرمجي

  • أكمل الصنف Can في can.py: السعة الافتراضية 8، والكمية عند الإنشاء تساوي السعة. تعيد الخاصيتان capacity وsize عددين صحيحين، ويمثّل str(can) الكمية بتكرار 🎨.
  • السعة عدد صحيح غير سالب، ومقدار العملية عدد صحيح موجب. ارفع ValueError للقيم المخالفة، ومنها bool، وللإيداع فوق السعة أو السحب فوق الباقي. تبقى الكمية كما كانت إذا رُفضت العملية.
  • أكمل main.py لقبول سحب كمية وإيداع كمية وإنهاء. افترض أن المستخدم يكتب أحد هذه الأوامر، وقد يكتب كمية غير صالحة. بعد العملية اعرض الكمية، وعند ValueError اعرض الرفض والكمية الباقية. أعد السؤال حتى الإنهاء.
  • شغّل can.py لفحص أمثلة التوثيق، ثم شغّل main.py لتجربة المحادثة. يبدأ كل تشغيل بعلبة جديدة سعتها 8.

أمثلة

يعيد البرنامج السؤال بعد كل عملية. حُذف تكراره من المحادثتين للاختصار.

شرح الحل