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

Susan Sarandon
Lepaskan: 2024-10-24 14:48:02
asal
412 orang telah melayarinya

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!