有人可以解释这背后的逻辑吗?
答案 0 :(得分:4)
这总是正确的,忽略了浮点问题:
b*(a // b) + a % b == a
这也总是如此:
((b > 0) == (a % b > 0)) or (a % b == 0)
最后,
abs(a % b) < abs(b)
为了提供这种行为,整数除法向负无穷大舍入,而不是向零。
答案 1 :(得分:3)
地板划分在Python中以数学方式定义。
x // y == math.floor(x/y)
换句话说,x // y
是小于或等于x / y
答案 2 :(得分:2)
它的方式:
5 / 2 = 2.5 (2)
5 / 7 = 0.714285 (0)
5 / -6 = −0.8333 (-1 is the integer below -0.833333)
5 / -2 = −2.5 (-3)
5 / -3 = −1.6666 (-2)
这是一个基本的楼层。它除以它,然后使它成为下面的整数。