البرمجة

تعلم Python: حل مشكلة TypeError في برنامج الشراء والفواكه

في البداية، دعوني أساعدك في فهم الخطأ الذي تواجهه في الكود. الخطأ يظهر في السطر:

python
total += item

حيث أن المتغير total هو عدد صحيح (integer)، ولكن item هو اسم العنصر في القائمة، وهو نص (string). لذا، لا يمكن إجراء عملية جمع بين نص وعدد صحيح، مما يؤدي إلى ظهور خطأ TypeError.

لحل هذا الخطأ، يجب عليك استخدام قيم الأسعار من القائمة prices بدلاً من اسماء الفواكه نفسها. يمكنك تحقيق ذلك عن طريق تغيير السطر المشار إليه إلى:

python
total += prices[item]

الآن، سأوضح بعض التفاصيل حول الكود. يظهر أنك تقوم بتعريف قائمة shopping_list وقائمتين إضافيتين stock و prices. القائمة shopping_list تحتوي على الفواكه التي تريد شراؤها، و stock تحتوي على الكميات المتوفرة من تلك الفواكه، بينما prices تحتوي على أسعار الفواكه.

ثم قمت بتعريف دالة compute_bill التي تأخذ قائمة من الفواكه كمعامل وتقوم بحساب إجمالي الفاتورة بناءً على الأسعار المحددة في قائمة prices. ولكن، كما ذكرت سابقًا، كان هناك خطأ في الكود يحتاج إلى تصحيح.

أخيرًا، في الحلقة الأخيرة، قمت بتكرار القيام بحساب الفاتورة لكل فاكهة في prices وطباعة الناتج. ولكن يجب عليك استدعاء الدالة compute_bill بإعطائها قائمة shopping_list للحصول على الإجمالي الصحيح.

باختصار، يحتاج الكود إلى بعض التعديلات لضمان عمله السليم.

المزيد من المعلومات

بالطبع، دعوني أوسع في شرح الكود وأقدم لك مزيدًا من المعلومات حول كيفية استخدام هذا البرنامج البسيط. في البداية، يبدو أن الكود يقوم بمحاكاة عملية شراء الفواكه من محل تجاري، حيث يوجد لديك قائمة بالفواكه التي ترغب في شرائها وكمياتها المتوفرة في المخزن، بالإضافة إلى أسعار تلك الفواكه.

القائمة shopping_list هي القائمة التي تحدد الفواكه التي تريد شراؤها، والقوائم stock و prices تحتويان على المخزون المتاح وأسعار الفواكه على التوالي. يقوم الكود بدورة عبر العناصر في قائمة shopping_list باستخدام دالة compute_bill، حيث يتم حساب إجمالي الفاتورة عن طريق جمع أسعار الفواكه الموجودة في prices.

الخطأ الذي قمت بتصحيحه كان يتسبب في ذلك لأن الكود كان يحاول جمع اسماء الفواكه (item) مباشرة بدلاً من جمع قيمها في قائمة prices. بعد التعديل الذي أوضحته سابقًا، يمكنك الآن تشغيل البرنامج بشكل صحيح للحصول على إجمالي الفاتورة الصحيح.

هناك فرصة لتحسين الكود بإضافة التحقق من توفر الكميات في المخزن قبل إضافة الفاكهة إلى الفاتورة، ويمكن أيضًا إضافة رسائل توضيحية لتسهيل فهم كيفية عمل البرنامج. بالمجمل، يمكن أن يكون هذا البرنامج خطوة جيدة لتعلم مفاهيم البرمجة باستخدام لغة Python، ويفتح الباب لاستكشاف مزيد من المفاهيم والتقنيات.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر