شرح المفهوم
يحوّل هذا الدرس مشكلة عمل صغيرة إلى سكربت بايثون بسيط. تخيّل أن أحد أعضاء فريقك يرسل لك بعض أرقام المبيعات اليومية ويطلب ملخصًا سريعًا: كم عدد الأيام لدينا، ما هو أفضل يوم، ما هو أضعف يوم، وكيف يبدو المتوسط؟ هذا هو نوع المهام التي تتفوق فيها بايثون. لا تحتاج إلى إطار عمل كبير لذلك. كل ما تحتاجه هو مدخلات نظيفة، دالة تحسب القيم التي تهتم بها، وسطر إخراج يمكن لشخص آخر فهمه دون قراءة الكود. بنهاية هذا الدرس، ستكون قادرًا على: • أخذ قائمة صغيرة من قيم المبيعات وتلخيصها بوضوح، • فصل الحساب عن العرض ليظل الكود سهل إعادة الاستخدام، • التعامل مع حالة البيانات الفارغة دون تعطيل السكربت. لماذا هذا مهم: غالبًا ما يتعلم المبرمجون المبتدئون بناء الجمل بمعزل عن التطبيق، لكن العمل الحقيقي يبدأ عادةً بملخصات صغيرة كهذه. السكربت الذي يجيب على سؤال عملي واحد هو بالفعل أكثر فائدة بكثير من مجرد عرض توضيحي عشوائي.
أين تضع الكود
- عرّف متغيرات اللون والموضع في الأعلى.
- أنشئ منطق رسم الأشكال أو وضعها في المنتصف.
- اعرض المخرجات (طباعة، لوحة رسم، SVG، أو كتلة منسقة) في النهاية.
مرجع الأوامر
- حافظ على الحساب داخل دالة واحدة لتتمكن من إعادة استخدامها لاحقًا مع بيانات الملفات أو بيانات الـ API.
- خزّن أرقام المبيعات في قائمة أولاً، ثم احسب الملخص من تلك القائمة.
- أعد سلسلة نصية قابلة للقراءة من الدالة المساعدة بدلاً من الطباعة من عدة أماكن.
- قرر دائمًا ما يجب أن يفعله السكربت عندما لا توجد بيانات قبل أن تقلق بشأن الميزات الإضافية.
دليل خطوة بخطوة
- شغّل السكربت مرة واحدة واقرأ سطر الملخص بعناية من اليسار إلى اليمين.
- غيّر قيمة مبيعات واحدة في `week_sales`، ثم شغّل الملف مرة أخرى، ولاحظ أي جزء من الملخص قد تغير.
- استبدل القائمة النموذجية بأربعة أرقام خاصة بك وتأكد من أن التقرير لا يزال منطقيًا.
- أضف سطر طباعة ثانيًا يستدعي `build_sales_report([])` لترى كيف تتصرف حالة البيانات الفارغة.
- اكتب ملاحظة قصيرة تشرح لماذا تعيد دالة إعداد التقارير نصًا بدلاً من الطباعة مباشرةً.
تمارين تطبيقية
- غيّر المخرجات بحيث تتضمن أيضًا إجمالي مبيعات الأسبوع.
- أنشئ نسخة من البيانات حيث يكون لأحد الأيام قيمة منخفضة جدًا واشرح كيف يؤثر ذلك على المتوسط.
- أعد صياغة سطر التقرير النهائي بكلماتك الخاصة مع الحفاظ على نفس الأرقام.
تحديات برمجية
- أطلق `ValueError` إذا كان أي رقم مبيعات سالبًا واجعل رسالة الخطأ سهلة الفهم.
- أعد الملخص كقاموس أولاً، ثم ابنِ النص النهائي من هذا القاموس في خطوة منفصلة.
مهام تمرين صغيرة
- أعد تسمية `week_sales` إلى اسم آخر واضح وحافظ على قابلية قراءة السكربت.
- اختبر الدالة بقائمة تحتوي على قيمة واحدة فقط.
- اكتب سطرًا واحدًا للعمل المستقبلي، مثل قراءة أرقام المبيعات من ملف CSV لاحقًا.
خطأ شائع
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
تحدٍ مصغّر من الواقع
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.