python整除和取余

//:向下取整

int():向0取整

正数的取余比较直接:

print(123%10) #3

这里结果为3。

但是换为负数取余,情况就有所不同:

print(-123%10) #7
print(-123%-10) #-3

这里面第二条是我们一般意义上的取余操作。这里也特别标注一下,如果涉及到负数取余要用上述解决办法。

那么我们看第一条,结果等于7。这个结果有点让人摸不到头脑,不过这个结果与Python的底层机制有关。

在Python中,取余的计算公式与别的语言并没有什么区别:r=a-n*[a//n]

这里r是余数,a是被除数,n是除数。

不过在“a//n”这一步,当a是负数的时候,我们上面说了,会向下取整,也就是说向负无穷方向取整。这也就得到:

-123%10 = -123 - 10 * (-123 // 10) = -123 - 10 * (-13) = 7

这里还不得不提的是

print(123%-10) #-7
posted @ 2022-03-01 13:57  27岁的太阳  阅读(549)  评论(0编辑  收藏  举报