2022年 11月 9日

Python当中负数的地板除以及负数的取余(//,%)

一.负数的取余

我们先来看看几个负数取余的例子:

>>> -76%9
5
  • 1
  • 2

在76是正数的情况下,这个结果应该是4,因为8*9=72,余数是4,而在负数的情况下是5

>>> -90%8
6
  • 1
  • 2

在90是正数的情况下,这个结果应该是2,余数为4,而在负数的情况下是4,我们再来看看被除数小于除数的例子:

>>> -5%7
2
  • 1
  • 2

在5是正数的情况下,余数应该是5.

根据以上三个例子,我们应该看出点东西了,那就是在Python当中,如果取余的数不能够整除,那么负数取余后的结果和相同正数取余后的结果相加等于除数。

比如第一个-76%9的例子,负数取余后等于5,而正数取余后等于4,4+5正好等于我们的除数:9。后面的几个例子也符合这一个规律,这个规律很有可能在考试当中出现并考察到。

二.负数的地板除

在Python当中的地板除是向下取整的,这个规律对负数也是适用的,首先我们来看看正数的地板除:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> 8//3
2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

因为算出来等于2.666,因此向下取整之后的结果则为2,但如果前面的数字变成了-8呢?

>>> -8//3
-3
  • 1
  • 2

这样子算出来如果不用地板除就是-2.666,但是地板除又是向下取整,负数向下取整之后数字也会变得更下,因此会变成-3.

这就是负数的地板除和取余的普遍规律了!