python中神奇的取模运算(-5%3=1,5%-3=-1)

在之前学习过的编程语言里,如c,c#,%留给我们的印象都是用来取余的,在学习python时,发现%竟然和之前学习到的有点不一样。

在这里插入图片描述这是为什么呢?

原来,python中,符号 % 其实是取模,不是取余。

取余与取模的差别:
当两个数均为正数是,取余与取模的结果是一致的,而当两个数一正一负时结果就不一样了。

1.当两个数都是正数时,
在这里插入图片描述
2.当一个数是负数时,
在这里插入图片描述取余过程:

c = a / b = -1.67
取余时,会将 c 向0的方向舍弃掉小数部分,c = -1.67,舍弃后 c = -1
则余数计算如下:
y = a - b * c = -5 - (3 * (-1)) = -2

取模过程

c = a / b = -1.67

取模时,会将 c 向负无穷的方向取整,比如此处 c = -1.67,向负无穷方向取整后 c = -2
则取模计算如下:

m = a - b * c = -5 - 3 * (-2) = 1

3.当两个数都是负数时
在这里插入图片描述

发布了264 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45649763/article/details/104633426