注:小白问题,大神们请忽略
先看示例,非整除:
>>> -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