Menu
CoddyTech

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

جزء من قسم المنطق وتدفق التنفيذ في رحلة Python على Coddy. الدرس 78 من 78.

challenge icon

التحدي

صعب

أنشئ دالة باسم transform_dataset تعالج قائمة من سجلات الطلاب لتحليلها.

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

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

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

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

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم Python عبر الإنترنت