一个简单的运算:$-4 \% 3 = 2$。
为什么呢?
1、要满足余数的数学定义:
根据整除的定义有$ m / n = a … b$ ,
所以余数的定义是:$ b = m - a \times n$
2、要满足python的整除运算,python整除是向下取整,
比如在$-4 / 3 = -1.33…$中,$-1.333$左边是 -2 右边是 -1,取较小的数 -2
根据上面2条,就可以得出余数的结果了。
$ -4 // 3 = -2$,
$ ? = -4 - 3\times -2=-2$
结论:python的求余运算受制于python的取整策略,以及数学上关于余数的定义公式。