Rekap Nilai Kelas
Bangun sendiri dari brief di bawah. Semua pemeriksaan lolos berarti proyekmu selesai, salah satu syarat sertifikat Pemrograman Python: Dari Nol sampai Proyek Mini.
Brief
Kembangkan proyek mini Kalkulator Nilai Siswa menjadi modul Rekap Nilai Kelas yang rapi: setiap tugas punya fungsinya sendiri, data rusak tidak membuat program berhenti, dan nilai siswa disimpan di sebuah class.
Program tidak memakai input() maupun file. Data datang sebagai list teks berformat "nama,nilai", misalnya DATA yang sudah disiapkan:
Fungsi wajib
| Nama | Tugas |
|---|---|
grade(n) | Kembalikan "A" bila n >= 85, "B" bila n >= 70, "C" bila n >= 55, selain itu "D". |
rata_rata(nilai) | Rata-rata semua nilai di dict {nama: nilai}, dibulatkan 1 desimal dengan round. Dict kosong menghasilkan 0.0. |
rekap(nilai) | List baris teks sesuai urutan dict, tiap baris f"{nama:<8} {n:>5.1f} {grade(n)}". |
parse_baris(baris) | Ubah "Ani,88" menjadi tuple ("Ani", 88.0). Spasi di sekitar nama dan nilai dibuang. Lempar ValueError bila jumlah bagian bukan 2, nama kosong, nilai bukan angka, atau nilai di luar 0 sampai 100. |
muat(daftar_baris) | Dict {nama: nilai} dari baris yang valid. Pakai try/except ValueError untuk melewati baris rusak. |
Class Kelas
__init__(self): buat atributself.nilai = {}.tambah(self, nama, nilai): simpan nilai sebagai float; lemparValueErrorbila nilai di luar 0 sampai 100.terbaik(self): nama siswa dengan nilai tertinggi, atauNonebila belum ada data.
Contoh hasil
Tulis kode yang rapi sesuai PEP 8: indentasi 4 spasi, nama snake_case, dan satu fungsi untuk satu tugas.
Latihan kode: Rekap Nilai Kelas
Lengkapi fungsi grade, rata_rata, rekap, parse_baris, dan muat serta class Kelas agar data nilai berformat "nama,nilai" bisa dibersihkan, dihitung rata-ratanya, dan direkap rapi seperti proyek Kalkulator Nilai Siswa.