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