注:小白问题,大神们请忽略
先看示例,非整除:

>>> -10/3
-3.3333333333333335
>>> 10/-3
-3.3333333333333335
>>> -10/-3
3.3333333333333335

根据除法法则,取整除结果(有个叫法,向下圆整结果),是不大于非整除结果的最大(负)整数,因此,以上三个表达式的整除结果应分别为:
-4
-4
3

验证如下:

>>> -10//3
-4
>>> 10//-3
-4
>>> -10//-3
3

根据求余法则,余数为执行整除时余下的部分,即 x % y 等价于 x - (( x // y ) * y ),因此,以上三个表达式的求余结果应分别为:
-10 - ( -4 * 3 ) = 2
10 - ( -4 * -3 ) = -2
-10 - ( 3 * -3 ) = -1

验证如下:

>>> -10%3
2
>>> 10%-3
-2
>>> -10%-3
-1

 

posted on 2021-12-08 18:41  51core  阅读(220)  评论(0编辑  收藏  举报