一.负数的取余
我们先来看看几个负数取余的例子:
>>> -76%9 5
在76是正数的情况下,这个结果应该是4,因为8*9=72,余数是4,而在负数的情况下是5
>>> -90%8 6
在90是正数的情况下,这个结果应该是2,余数为4,而在负数的情况下是4,我们再来看看被除数小于除数的例子:
>>> -5%7 2
在5是正数的情况下,余数应该是5.
根据以上三个例子,我们应该看出点东西了,那就是在Python当中负数取余后的结果和相同正数取余后的结果相加等于除数。
比如第一个-76%9的例子,负数取余后等于5,而正数取余后等于4,4+5正好等于我们的除数:9。后面的几个例子也符合这一个规律,这个规律很有可能在考试当中出现并考察到。
二.负数的地板除
在Python当中的地板除是向下取整的,这个规律对负数也是适用的,首先我们来看看正数的地板除:
>>> 8//3 2
因为算出来等于2.666,因此向下取整之后的结果则为2,但如果前面的数字变成了-8呢?
>>> -8//3 -3
这样子算出来如果不用地板除就是-2.666,但是地板除又是向下取整,负数向下取整之后数字也会变得更下,因此会变成-3.
这就是负数的地板除和取余的普遍规律了!
来源:https://www.cnblogs.com/geeksongs/p/12490822.html