البرمجة

حساب المتوسط في Python

عند تشغيل البرنامج، تواجه مشكلة عندما يدخل المستخدم “N” لإنهاء الحلقة while، حيث لا يتم الانتقال إلى الحلقة for لحساب المتوسط. هذا يحدث عندما يتم تشغيل البرنامج ككود مستقل، ولكن يعمل بشكل صحيح في الوضع التفاعلي (shell) وفي ملف بيثون.

لفهم هذه المشكلة، يمكن أولاً أن نلقي نظرة على كيفية عمل الدورة (loop) while. تقوم الحلقة بتكرار السؤال ما لم يدخل المستخدم “N”، وفي حالة دخول “N”، تنتهي الحلقة ولا يتم تنفيذ الأمر الذي يليها. وهنا يكمن المشكلة، حيث أن الحلقة for التي تقوم بحساب المتوسط لن تتم تنفيذها إذا لم يكن هناك أي عناصر في القائمة potato.

لحل هذه المشكلة، يمكننا استخدام شرط إضافي للتحقق مما إذا كانت القائمة potato فارغة قبل دخول الحلقة for. يمكننا استخدام دالة len() لفحص عدد العناصر في القائمة. إذا كانت القائمة فارغة، يمكننا عرض رسالة تعلم المستخدم بأنه لا يوجد أرقام لحساب متوسطها.

هناك أيضًا تحسينات يمكن إجراؤها في التعليمات البرمجية، مثل استخدام دالة range() في الحلقة for بدلاً من استخدام sum() في كل تكرار لحساب المتوسط.

إليك الكود المعدل بناءً على الشرح أعلاه:

python
potato = [] kount = 0 avg = 0 question = input('البحث عن المتوسطات، الاستمرار؟ نعم أو لا: ') while question.lower() == 'نعم' and kount <= 12: num = int(input('أدخل رقمًا: ')) potato.append(num) kount += 1 question = input('الاستمرار؟ نعم أو لا: ') if len(potato) > 0: for fries in potato: avg = sum(potato) / len(potato) print(fries, fries - avg) print('المتوسط هو: ' + str(avg)) else: print('لا توجد أرقام لحساب متوسطها.')

هذا التعديل يتحقق من فارغة potato قبل دخول الحلقة for، ويعرض رسالة مناسبة إذا كانت فارغة. يمكنك استخدام هذا الكود لتشغيل البرنامج وسيتم التعامل بشكل صحيح مع حالة إدخال “N” لإنهاء البرنامج.

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

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

في البداية، دعونا نلقي نظرة على الشيفرة التي قدمتها. الشيفرة تبدو جيدة في الغالب، حيث تطلب من المستخدم إدخال سلسلة من الأرقام وتقوم بتخزينها في قائمة (list) تسمى “potato”. بعد ذلك، تقوم بحساب المتوسط باستخدام دالة sum() وتقسيمه على عدد العناصر في القائمة.

ومع ذلك، يتم تجاهل بعض الجوانب المهمة التي يجب التفكير فيها أثناء كتابة برنامج الكمبيوتر، مثل التعامل مع جميع الحالات المحتملة. في هذه الحالة، عندما يدخل المستخدم “N” لإنهاء البرنامج، يجب علينا التأكد من أن البرنامج يتوقف بشكل صحيح ويقوم بإظهار النتائج بشكل مناسب.

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

يمكننا أيضًا تحسين الشيفرة لجعلها أكثر فعالية، مثل استخدام دالة len() لحساب عدد العناصر في القائمة بدلاً من تعيين عدد ثابت كحد أقصى للعدد. هذا يجعل الشيفرة أكثر قابلية للتعديل وأكثر تنوعًا في معالجة مجموعات مختلفة من الأرقام.

باختصار، برمجة حساب المتوسط في Python هي عملية بسيطة على مستوى النظرة الأولى، ولكن الشيفرة يجب أن تتعامل مع جميع الحالات المحتملة بشكل صحيح. من خلال فهم ومعالجة هذه الحالات، يمكن للمبرمجين تحسين أداء وموثوقية برامجهم بشكل كبير.

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

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

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

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