python中負數除法的求商和取余的問題


首先,我們先看一些正數的除法

 res1 = 6 / 4  #6除以4
 print(res1) #輸出:1.5
 ​
 res2 = 6 // 4 #6除以4取商
 print(res2) #輸出:1
 ​
 res3 = 6 % 4  #6除以4取余數
 print(res3) #輸出:2

#以上是小學的數學知識

 

再來看下負數的除法

 res4 = -6 / 4
 print(res4) #輸出:-1.5
 res5 = 6 / -4
 print(res5) #輸出:-1.5
 res6 = -6 / -4
 print(res6) #輸出:1.5
 ​
 #以上應該是初中的數學知識
 #負數的除法這個大家都能看懂,被除數和除數有負數,結果就為負;負負為正.

 

下面引入地板除(也就是商)和余數

 #注意:在Python當中的地板除是向下取整的
 ​
 res7 = -6 // 4
 print(res7) #輸出:-2
 #-6除以4結果為-1.5(res4輸出可以得出),向下取整,也就為-2(-1.5>-2,所以向下取整為-2)
 ​
 res8 = 6 // -4
 print(res8) #輸出:-2
 #6除以-4結果為-1.5(res5輸出可以得出),向下取整,也就為-2(-1.5>-2,所以向下取整為-2)
 ​
 res9 = -6 // -4
 print(res9) #輸出:1
 #-6除以-4結果為1.5(res6輸出可以得出),向下取整,也就是1.

 

接下來再看余數的運算

 res10 = -6 % 4
 print(res10) #輸出:2
 #在res7上我們得到了-6除以4的商為-2,要得到余數=被除數-除數*商
 #也就是:-6-4*(-2)=-6+8=2
 ​
 res11 = 6 % -4
 print(res11) #輸出:-2
 #同理:6除以-4的商為-2,6-(-2)*(-4)=-2
 ​
 res12 = -6 % -4
 print(res12) #輸出:-2
 #-6除以-4的商為1,所以-6-(-4)*1=-2

 

總結:我們在做求商和取余時候,記住一句話:Python當中的地板除是向下取整的.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM