Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

محول البيانات

جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 78 من 78.

challenge icon

التحدي

صعب

قم بإنشاء دالة باسم transform_dataset تقوم بمعالجة قائمة من سجلات الطلاب للتحليل.

كل سجل عبارة عن قاموس (dictionary) يحتوي على:

  • student_id: معرف فريد للطالب
  • grades: قائمة بالدرجات الرقمية
  • subjects: قائمة بالمواد التي يدرسها الطالب

يجب أن تقوم دالتك بما يلي:

  1. حساب متوسط الدرجات لكل طالب
  2. تضمين الطلاب الذين تزيد جميع درجاتهم عن 70 فقط (الطلاب المؤهلون) - يجب عليك استخدام دالة all() في بايثون للتحقق من هذا الشرط
  3. إنشاء ملخص للمواد التي يدرسها الطلاب المؤهلون، مع حساب عدد الطلاب المؤهلين الذين يدرسون كل مادة
  4. إرجاع قاموس يحتوي على مفتاحين:
    • 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