Coding for KidsCoding for Kids
المستويات الإبداعيةالتحدياتدليل المعلم
صوت للميزات
دورة تطوير بايثون المتقدمة
الفصل
>
المستوى

وحدات الرياضيات
وحدة الإحصائيات

الهدف

انزل إلى المكتب وسجل بعض البيانات الإحصائية لمقاييس المزرعة باستخدام وحدة الإحصائيات.

أسفل الدرج من العلية يوجد مكتب، حيث تُخزن الملفات التي تحتوي على بيانات هامة للمزرعة. سيكون من الأفكار الجيدة معالجة تلك البيانات وتوثيقها للتنبؤ بالنمو المستقبلي للمزرعة. للقيام بذلك، سنستخدم وحدة الإحصائيات. تتيح لنا الوحدات استيراد أدوات مثل الدوال، الفئات وما شابه، مما يسمح بتوسيع وظائف بايثون. لإعداد وحدة ما، تكتب import متبوعة باسم الوحدة، وهذا صحيح، لقد كنت تستخدم وحدة للتحكم باللاعب طوال الوقت!

import statistics

تضيف الوحدة العديد من الدوال لحساب الإحصائيات، وإليك بعض الدوال التي سنستخدمها لمعالجة بيانات الإحصائيات في المكتب:

  • statistics.mean() : تحسب متوسط مجموعة من البيانات
  • statistics.median(): تحسب القيمة الوسطى لمجموعة من البيانات
  • statistics.median_low(): تحسب أدنى قيمة وسطية لمجموعة من البيانات
  • statistics.median_high(): تحسب أعلى قيمة وسطية لمجموعة من البيانات
  • statistics.mode(): تحسب الاتجاه المركزي لمجموعة من البيانات، بمعنى آخر القيمة الأكثر تكراراً في عينة البيانات.
  • statistics.variance(): تحسب تباين القيم في مجموعة من البيانات. يشير العدد العالي إلى أن القيم متباعدة، بينما يشير العدد المنخفض إلى أن القيم قريبة من بعضها البعض.

ابدأ بالسير نحو علامة X المضاءة أمام خزائن الملفات، واستخدم الدالة read() لفحص الملفات وقراءة البيانات. هناك ثلاث (3) تقارير لقراءتها في الميدان، أنشئ ثلاث (3) قوائم لتخزين بيانات كل تقرير: weather_report، export_report وharvest_report. تحتوي بيانات كل تقرير على ست (6) قيم تمثل بيانات تتعلق بالأشهر الستة الأولى من السنة. لاحظ وخزن القيم الست (6) في كل قائمة عند قراءتها.

بمجرد أن تلاحظ وتخزن البيانات في القوائم، اتجه إلى علامة X المظلمة فوق السجادة الزرقاء. أنشئ خمس متغيرات مسماة: mean، median، low، high وvariance. ستحتوي هذه المتغيرات على قيمة دوال الإحصائيات التي ذكرناها سابقاً. ما سنفعله هو إضافة قائمة التقرير الذي نريد الحصول على إحصائياته، هذا سيولد إحصائيات للبيانات المقدمة.

mean = statistics.mean( report list ) median = statistics.median( report list ) low = statistics.median_low( report list ) high = statistics.median_high( report list ) variance = statistics.variance( report list )

باستخدام هذه البيانات الإحصائية سنستخدم الدالة write() لتدوين البيانات في المذكرات، وسيكون تسلسل الكود معد مسبقاً في محرر الكود. على علامة X على السجادة الزرقاء، قم بتدوين المتغيرات الخاصة بـ export_report واكتبها. على علامة X على السجادة الخضراء، قم بتدوين المتغيرات الخاصة بـ harvest_report واكتبها. على علامة X على السجادة الحمراء، قم بتدوين المتغيرات الخاصة بـ weather_report واكتبها. يجب عليك تهيئة المتغيرات لكل تقرير أولاً قبل كتابتها حتى تُكتب البيانات الإحصائية الصحيحة لكل تقرير.

بمجرد تدوين كل البيانات الإحصائية، اتجه إلى علامة X الذهبية وأنشئ قائمة جديدة باسم group_report. في هذه القائمة ستضيف تقريري export_report وharvest_report بهذا الترتيب. سيؤدي هذا إلى إنشاء قائمة متداخلة لا يمكن استخدامها مع دوال الإحصاء، ولحل هذه المشكلة استخدم تعبير قائمة (List comprehension) لتفكيك القائمة المتداخلة، كما يلي: group_report= [item for sublist in group_report for item in sublist]

قم بإعداد متغيرين آخرين: variance و mode مع دوال الإحصائيات الخاصة بهما. أضف قائمة group_report إلى دالة التباين، وأضف قائمة weather_report إلى دالة الوضع، كما يلي: variance = statistics.variance( group_report ) ، mode = statistics.mode( weather_report ). نفذ الدالة write() المعدة في محرر الكود لهذه المتغيرات لاستكمال المستوى.

كتاب الكود