Modulo模(取余)运算是一种算术运算,可找到一个数除以另一数的余数。 其余的称为运算的模数。

例如,5除以3等于1,余数为2,而8除以4等于2,余数为0。

Python模(取余)运算符

在Python中,模运算符由百分号(%)表示。 语法如下:

num1 % num2

以下是示例:

5 % 4
1

如果除数(第二个参数)等于零,则引发ZeroDivisionError

5 % 0
ZeroDivisionError: integer division or modulo by zero

模运算符还接受浮点数作为参数:

6.8 % 3.4
0.0

格式化字符串时,%字符表示插值运算符。

范例

模运算符的一种常见用法是检查数字是奇数还是偶数。 如果一个被2除的数没有余数,则它是一个偶数。 否则,如果余数为1,则数字为奇数:

num = 11

if (num % 2) == 0:
   print(num, "is even")
else:
   print(num, "is odd")

如果运行上面的代码,则11 % 2保留1的余数,并执行 else语句内部的代码:

11 is odd

这是另一个示例,显示了如何使用模运算符检查数字是否为质数。 质数是一个正整数,可以单独除以1:

,而不能除以余数

def isPrimeNumber(num):
  if num < 1:
    return False
  for i in range(2, num):
    if (num % i) == 0:
      return False
  else:
    return True

首先,我们要检查数字num是否为正数。 然后,我们检查该数字是否可以被2num范围内的范围中的另一个数字整除。 如果不满足任何条件,则该数字为质数。

模运算符也可以用于转换度量单位。 以下示例显示了如何将秒转换为分钟:

def secondsToMinutes(sec):
  seconds = sec // 60
  minutes = sec % 60
  return "%d minutes and %d seconds" % (minutes, seconds)

secondsToMinutes(657)
'57 minutes and 10 seconds'

双斜杠(//),floor division运算符将结果四舍五入到最接近的整数。

结论

在本文中,我们向您展示了如何使用Python的模运算符。

如果您有任何问题或反馈,请随时发表评论。