محول البيانات
جزء من قسم المنطق وتدفق التنفيذ في رحلة Python على Coddy. الدرس 78 من 78.
التحدي
صعبأنشئ دالة باسم transform_dataset تعالج قائمة من سجلات الطلاب لتحليلها.
كل سجل عبارة عن قاموس يحتوي على:
student_id: معرّف فريد للطالبgrades: قائمة بالدرجات الرقميةsubjects: قائمة بالمواد التي يدرسها الطالب
ينبغي أن تقوم دالتك بما يلي:
- حساب متوسط الدرجات لكل طالب
- تضمين الطلاب الذين تزيد جميع درجاتهم عن 70 فقط (الطلاب المؤهلون) — ينبغي استخدام دالة Python المسماة
all()للتحقق من هذا الشرط - إنشاء ملخص للمواد التي يدرسها الطلاب المؤهلون، مع احتساب عدد الطلاب المؤهلين الذين يدرسون كل مادة
- إرجاع قاموس بمفتاحين:
qualified_students: قاموس يربط معرّفات الطلاب بمتوسط درجاتهم (مقربًا إلى منزلتين عشريتين)subject_summary: قاموس يربط المواد بعدد الطلاب المؤهلين الذين يدرسون تلك المادة
ملاحظة: تُرجع الدالة all() في Python القيمة True فقط إذا كانت جميع العناصر في الكائن القابل للتكرار صحيحة. على سبيل المثال، لن تُرجع 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جميع دروس المنطق وتدفق التنفيذ
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوقتدرّب بنفسك: مترجم Python عبر الإنترنت