python 取余问题(%)详解

取余的公式:

余数=被除数-除数*商

python的的余数是按照整除(向下取整)得到的商来计算的。

取余问题主要分为 :

正数与正数,负数与负数,正数与负数 ,0

正数与正数
#大数/小数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*商)即可。
print(9//7)  #1
print(9%7)   #2


#小数/大数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*商)即可。
#这里也可以说:只要正数与正数是小数/大数 的,商都是0 ,所以余数是他本身。
print(7//9) #0
print(7%9)  #7
负数与负数
#小数/大数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*商)即可。
#因为负负得正,所以整除得出的就是 9//7的值为1,所以余数为 -9-(-7)=-2
print(-9//-7)  #1
print(-9%-7)   #-2

#大数/小数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*商)即可。
#这里也可以说:只要在负数与负数相除中是大数/小数 的,商都是0 ,所以余数是他本身。
print(-7//-9) #0
print(-7%-9)  #-7
0
#由于0不能做被除数,所以无论0除以任何数(0除外)的商和余数都为0。

print(0%-1)  #0
print(0%1)   #0

正数与负数
#负数/正数
#-7/9=-0.77.. 所以整除的值为-1,也就是向下取整的值,而python中取余是按照整除的商计算的,所以余数为 -7-(9*(-1))=2
print(-7//9)   #-1 
print(-7%9)   #2
#同样的 -9/7=-1.285.. 所以整除的值为-2,余数 -9-7*(-2)=5
print(-9//7)   #-2
print(-9%7)   #5


#正数/负数
#同样的 7/-9=--0.77.. 所以整除的值为-1,余数 7-【-9*(-1)】=-2
print(7//-9)   #-1
print(7%-9)   #-2

#同样的 9/-7=-1.285.. 所以整除的值为-2,余数 9-【-7*(-2)】=-5
print(9//-7)   #-2
print(9%-7)   #-5
   


Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐