Rumah >pembangunan bahagian belakang >Tutorial Python >Keputusan Tidak Dijangka dalam Bahagian Integer: Mengapa 8/-7 = -2?
Kejutan Pembahagian Integer
Apabila bekerja dengan integer, anda mungkin menghadapi keputusan yang tidak dijangka semasa melakukan pembahagian. Sebagai contoh, 8/-7 sama dengan -2 apabila kedua-dua nombor dianggap sebagai integer. Ini boleh mengelirukan, jadi mari kita terokai apa yang berlaku.
Penjelasan
Bahagian integer dalam Python 2, versi yang anda nampaknya sedang gunakan, mengikut konvensyen yang dikenali sebagai " pembahagian lantai." Ini bermakna keputusan dibundarkan ke bawah kepada integer terdekat. Dalam kes ini, -1.143 (hasil sebenar 8.0/(-7.0)) dibundarkan ke bawah kepada -2.
Tingkah laku ini membawa kepada hasil yang menarik:
Python 3 and Beyond
Dalam Python 3, pembahagian integer telah berubah. Daripada membundarkan ke bawah, ia memberikan hasil titik terapung. Contohnya, 8/(-7) dalam Python 3 ialah -1.143.
Jika anda masih memerlukan pembahagian integer, Python 3 menawarkan operator "//". Ini berkelakuan sama dengan pembahagian integer dalam Python 2, membundarkan ke bawah kepada integer terdekat.
"Membetulkan" Kejutan
Kejutan yang jelas dalam hasil pembahagian integer boleh "diperbaiki" dengan menaik taraf kepada Python 3. Ini akan menghasilkan hasil titik terapung, yang lebih mewakili operasi matematik sebenar. Sebagai alternatif, anda boleh menggunakan operator "//" dalam Python 3 untuk mencapai kelakuan yang sama seperti pembahagian integer dalam Python 2.
Atas ialah kandungan terperinci Keputusan Tidak Dijangka dalam Bahagian Integer: Mengapa 8/-7 = -2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!