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当中的地板除是向下取整的.

posted @ 2020-08-19 08:17  osker  阅读(1904)  评论(0编辑  收藏  举报