Rumah > Artikel > pembangunan bahagian belakang > Mengapa Pembahagian Integer dalam Python 2 Memberi Keputusan Tidak Dijangka dengan Nombor Negatif?
Hasil Tidak Dijangka Pembahagian Integer
Dalam Python 2, melakukan pembahagian integer dengan nombor negatif boleh menghasilkan keputusan yang mengejutkan. Sebagai contoh, apabila membahagikan 8 dengan -7, hasilnya ialah -2, walaupun hasil bahagi yang dijangkakan adalah sekitar -1.143.
Memahami Pembahagian Lantai
Bahagian integer, selalunya dirujuk sebagai "pembahagian lantai" dalam Python 2, membundarkan hasil ke bawah ke arah integer terdekat. Tingkah laku ini menentukan bahawa walaupun apabila membahagikan integer positif dan negatif, output sentiasa lebih negatif.
Conundrums Contoh
Prinsip pembulatan ke bawah ini membawa kepada keputusan yang membingungkan, seperti yang digambarkan dengan operasi pembahagian berikut:
Pembetulan Python 3 Anomali
Dalam Python 3, isu ini telah diselesaikan. Untuk operasi yang sama, 8/(-7), keluaran ialah -1.143. Walau bagaimanapun, jika tingkah laku yang diingini ialah pembahagian integer, menggunakan operator "//" akan meniru hasil daripada Python 2.
Penjelasan Teknikal
Dalam Python 2, jenis integer dibahagikan dengan integer lain juga merupakan integer. Oleh itu, keputusan dibundarkan ke bawah kepada integer terdekat. Python 3 memperkenalkan penukaran jenis automatik, yang membolehkan hasilnya diwakili sebagai nombor titik terapung, mengekalkan nilai sebenarnya.
Atas ialah kandungan terperinci Mengapa Pembahagian Integer dalam Python 2 Memberi Keputusan Tidak Dijangka dengan Nombor Negatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!