Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah Gelagat Tidak Dijangka dalam Bahagian Integer dan Bagaimana Ia Dikendalikan dalam Python?

Apakah Gelagat Tidak Dijangka dalam Bahagian Integer dan Bagaimana Ia Dikendalikan dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-10-24 14:48:02408semak imbas

What is the Unexpected Behavior in Integer Division and How is it Handled in Python?

Hasil Tidak Dijangka dalam Bahagian Integer

Pembahagian integer negatif dalam pengaturcaraan boleh menghasilkan keputusan yang mengejutkan, seperti pemerhatian bahawa 8/-7 menghasilkan nilai integer -2. Hasil ini berpunca daripada konsep pembahagian lantai, di mana integer negatif dibundarkan ke bawah kepada nilai paling negatif seterusnya.

Dalam Python 2, pembahagian integer menggunakan pembahagian lantai secara automatik. Akibatnya, apabila melakukan 8/-7, Python mengecilkan hasil sebenar 8.0/(-7.0), iaitu lebih kurang -1.143, kepada integer yang lebih negatif -2. Tingkah laku pembundaran ini juga menerangkan sebab 8/7 menghasilkan 1.

Tingkah laku ini boleh mengelirukan, kerana ia bercanggah dengan jangkaan matematik untuk mendapatkan hasil pecahan bagi pembahagian integer negatif. Walau bagaimanapun, adalah penting untuk menyedari bahawa pembahagian integer ialah operasi berbeza yang memotong bahagian pecahan.

Untuk mengatasi tingkah laku ini, Python 3 memperkenalkan perubahan. Dalam Python 3, pembahagian integer bagi integer negatif menghasilkan hasil titik terapung. Jika operasi pembahagian asal ialah 8/(-7), hasilnya ialah nilai pecahan -1.143.

Jika mengekalkan tingkah laku pembahagian lantai diingini dalam Python 3, operator // boleh digunakan. Operator ini secara eksplisit melaksanakan pembahagian lantai, memberikan hasil yang sama seperti operator pembahagian integer dalam Python 2.

Untuk mendapatkan maklumat lanjut, rujuk Cadangan Peningkatan Python PEP 238, yang membincangkan pengubahsuaian operator bahagian dalam Python.

Atas ialah kandungan terperinci Apakah Gelagat Tidak Dijangka dalam Bahagian Integer dan Bagaimana Ia Dikendalikan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn