Menu
CoddyTech

Pengubah Data

Termasuk bagian Logika dan Alur dalam perjalanan Python di Coddy. Pelajaran 78 dari 78.

challenge icon

Tantangan

Sulit

Buat fungsi bernama transform_dataset yang memproses list catatan siswa untuk dianalisis.

Setiap catatan adalah dictionary yang berisi:

  • student_id: Pengenal unik untuk siswa
  • grades: List nilai numerik
  • subjects: List mata pelajaran yang diambil siswa

Fungsimu harus:

  1. Menghitung nilai rata-rata setiap siswa
  2. Hanya menyertakan siswa yang semua nilainya di atas 70 (siswa yang memenuhi syarat), kamu harus menggunakan fungsi all() dari Python untuk memeriksa kondisi ini
  3. Membuat ringkasan mata pelajaran yang diambil siswa yang memenuhi syarat, dengan menghitung jumlah siswa yang memenuhi syarat dan mengambil setiap mata pelajaran
  4. Mengembalikan dictionary dengan dua key:
    • qualified_students: Dictionary yang memetakan ID siswa ke nilai rata-rata mereka (dibulatkan hingga 2 angka desimal)
    • subject_summary: Dictionary yang memetakan mata pelajaran ke jumlah siswa yang memenuhi syarat dan mengambil mata pelajaran tersebut

Catatan: Fungsi all() di Python mengembalikan True hanya jika semua elemen dalam iterable bernilai true. Contohnya, all(grade > 70 for grade in grades) akan mengembalikan True hanya jika setiap nilai lebih dari 70.

Contoh Input:

[
    {
        "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"]
    }
]

Contoh Output:

{
    'qualified_students': {'S123': 88.33, 'S125': 90.67}, 
    'subject_summary': {'Math': 2, 'Science': 1, 'History': 2, 'Physics': 1}
}

Coba sendiri

def transform_dataset(data):
    # Tulis solusimu di sini
    
    # Langkah 1: Hitung nilai rata-rata setiap siswa dan pilih siswa yang memenuhi syarat
    # (siswa yang semua nilainya di atas 70)
    
    # Langkah 2: Buat ringkasan mata pelajaran yang diambil oleh siswa yang memenuhi syarat
    
    # Langkah 3: Kembalikan dictionary akhir yang berisi qualified_students dan subject_summary
    pass

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Python online