محول البيانات
جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 78 من 78.
التحدي
صعبقم بإنشاء دالة باسم transform_dataset تقوم بمعالجة قائمة من سجلات الطلاب للتحليل.
كل سجل عبارة عن قاموس (dictionary) يحتوي على:
student_id: معرف فريد للطالبgrades: قائمة بالدرجات الرقميةsubjects: قائمة بالمواد التي يدرسها الطالب
يجب أن تقوم دالتك بما يلي:
- حساب متوسط الدرجات لكل طالب
- تضمين الطلاب الذين تزيد جميع درجاتهم عن 70 فقط (الطلاب المؤهلون) - يجب عليك استخدام دالة
all()في بايثون للتحقق من هذا الشرط - إنشاء ملخص للمواد التي يدرسها الطلاب المؤهلون، مع حساب عدد الطلاب المؤهلين الذين يدرسون كل مادة
- إرجاع قاموس يحتوي على مفتاحين:
qualified_students: قاموس يربط معرفات الطلاب بمتوسط درجاتهم (مقرباً إلى منزلتين عشريتين)subject_summary: قاموس يربط المواد بعدد الطلاب المؤهلين الذين يدرسون تلك المادة
ملاحظة: دالة all() في بايثون تعيد True فقط إذا كانت جميع العناصر في الكائن القابل للتكرار (iterable) صحيحة. على سبيل المثال، all(grade > 70 for grade in grades) ستعيد True فقط إذا كانت كل درجة أعلى من 70.
مثال للمدخلات:
[
{
"student_id": "S123",
"grades": [88, 92, 85],
"subjects": ["Math", "Science", "History"]
},
{
"student_id": "S124",
"grades": [65, 95, 80],
"subjects": ["Math", "Science", "English"]
},
{
"student_id": "S125",
"grades": [91, 89, 92],
"subjects": ["Math", "Physics", "History"]
}
]مثال للمخرجات:
{
'qualified_students': {'S123': 88.33, 'S125': 90.67},
'subject_summary': {'Math': 2, 'Science': 1, 'History': 2, 'Physics': 1}
}جرّب بنفسك
def transform_dataset(data):
# حلك هنا
# الخطوة 1: حساب متوسط الدرجات لكل طالب وتصفية الطلاب المؤهلين
# (الطلاب الذين حصلوا على درجات أعلى من 70 في جميع المواد)
# الخطوة 2: إنشاء ملخص للمواد التي درسها الطلاب المؤهلون
# الخطوة 3: إرجاع القاموس النهائي الذي يحتوي على qualified_students و subject_summary
passجميع دروس Logic & Flow
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوق