Pertanyaan
return [i for i in 1st if i % 2 = 07 my_(-)list=[1,2,3,4,5] print(func(m)_list)) a. [1,2,3,4,5] b. [2,3,4,5] C. . [2,4] d. [1,3,5]
Solusi
Jawaban
Kode yang diberikan memiliki beberapa kesalahan. Pertama, `1st` seharusnya `my_list`. Kedua, kondisi `i % 2 == 91` tidak akan pernah benar untuk bilangan bulat. Operasi modulo (`%`) mengembalikan sisa pembagian. Sisa pembagian bilangan bulat dengan 2 hanya bisa 0 atau 1. Tidak akan pernah 91.Oleh karena itu, fungsi `func` seperti yang ditulis akan selalu mengembalikan list kosong (`[]`). Tidak ada pilihan jawaban yang benar yang sesuai dengan keluaran fungsi tersebut.Untuk memperbaiki kode dan memberikan jawaban yang masuk akal, kita perlu mengasumsikan bahwa ada kesalahan pengetikan dalam kondisi modulo. Mari kita asumsikan bahwa maksudnya adalah mencari bilangan ganjil (`i % 2 == 1`). Dengan asumsi ini, kode yang benar adalah:```pythondef func(my_list): return [i for i in my_list if i % 2 == 1]my_list = [1, 2, 3, 4, 5]print(func(my_list))```Kode ini akan menghasilkan:```[1, 3, 5]```Jadi, dengan asumsi koreksi pada kondisi modulo, jawaban yang benar adalah **d. [1, 3, 5]**