Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Operator Modulo Python Menghasilkan Keputusan Positif dengan Nombor Negatif?
Gelagat Operator Modulo Python dengan Nombor Negatif
Operator modulo (%) dalam Python mengendalikan nombor negatif secara berbeza daripada dalam C atau C . Tidak seperti bahasa tersebut, pengendali modulo Python sentiasa memastikan bahawa hasilnya mempunyai tanda yang sama dengan penyebut.
Mengapa -5 % 4 Menilai kepada 3, Bukan -1
Pertimbangkan ungkapan -5 % 4. Dalam kes ini, ia menilai kepada 3 kerana pengiraan diteruskan sebagai berikut:
Python memilih gelagat ini kerana hasil bukan negatif biasanya lebih berguna. Contohnya, apabila mengira hari minggu menggunakan formula (2 - N) % 7, pengendali modulo memastikan keputusan berada dalam julat [0, 6], mewakili hari dalam seminggu.
Berbeza dengan Gelagat C
Dalam C, jika N lebih besar daripada atau sama dengan 3 dalam formula ini, hasilnya akan negatif, iaitu bukan nombor hari yang sah. Untuk mendapatkan hasil yang betul, C memerlukan pelarasan manual dengan menambah 7 pada hasil negatif.
Untuk maklumat lanjut tentang kelakuan pengendali modulo dengan nombor negatif dalam bahasa berbeza, sila rujuk artikel Wikipedia tentang modulo pengendali.
Atas ialah kandungan terperinci Mengapa Operator Modulo Python Menghasilkan Keputusan Positif dengan Nombor Negatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!