Membundarkan Nombor dalam Python: Menangani Percanggahan
Apabila bekerja dengan nombor dalam Python, operasi pembundaran sering digunakan. Satu tugas biasa ialah membundarkan nombor kepada integer terdekat. Walau bagaimanapun, menggunakan fungsi round() tradisional kadangkala boleh membawa kepada hasil yang tidak dijangka, membulatkan nombor ke bawah dan bukannya ke atas.
Meneroka Isu Pembundaran Ke Bawah
Pertimbangkan contoh berikut :
round(2.3)
Kod ini menjangkakan untuk menghasilkan 3 sebagai hasilnya, tetapi sebaliknya mengembalikan 2. Fungsi round() membundarkan nombor ke arah integer terdekat, yang dalam kes ini ialah 2.
Pendekatan Alternatif: Int() dan Percanggahan Pembundaran
Percubaan untuk menggunakan fungsi int() dengan offset kecil untuk dibundarkan, seperti int(2.3 0.5), juga gagal, sebaliknya menghasilkan 2 daripada 3 yang dikehendaki.
Cara yang Betul: Menggunakan Math.ceil
Penyelesaian terletak pada fungsi math.ceil (siling). Fungsi ini mengembalikan integer terkecil yang lebih tinggi atau sama dengan nombor yang ditentukan.
Untuk Python 3:
import math print(math.ceil(4.2))
Kod ini dengan betul membundarkan 4.2 hingga 5.
Untuk Python 2:
import math print(int(math.ceil(4.2)))
Dalam Python 2, fungsi ceil() mengembalikan apungan, jadi ia perlu dihantar ke integer menggunakan fungsi int().
Dengan menggunakan math.ceil, anda boleh memastikan bahawa nombor secara konsisten dibundarkan ke integer terdekat, mengelakkan gelagat pembundaran ke bawah yang tidak dijangka yang dihadapi dengan kaedah lain.
Atas ialah kandungan terperinci Bagaimanakah saya Menjamin Nombor Pembundaran dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!