Materi
Misi ini menutup modul keempat. Bagian personalia meminta tiga fungsi rekap: rata-rata nilai, gaji setelah potongan, dan banyaknya hari yang mencapai target. Ketiganya memakai pola penampung: siapkan penampung, jalankan for, lalu kembalikan hasilnya setelah for selesai.
Setiap fungsi juga dites dengan list kosong. Di awal bulan, data memang belum ada, dan program tidak boleh berhenti. Nilai awal penampung menentukan jawaban untuk list kosong.
Rata-rata butuh penjagaan. Rata-rata adalah jumlah dibagi banyaknya data. Kalau list kosong, banyaknya data 0, dan pembagian dengan nol berhenti dengan ZeroDivisionError. Jadi periksa dulu apakah list-nya kosong.
data = []
if len(data) == 0:
print("belum ada data") # baris ini yang jalan
else:
print(sum(data) / len(data))Jangan mengubah list yang diberikan ke fungsi. Buat list baru untuk hasilnya, dengan urutan yang sama seperti aslinya. Tes memeriksa nilai yang dikembalikan fungsimu. Kalau hasilnya meleset, print isi penampung di dalam perulangan dan lihat putaran mana yang salah.