理解 Python 中的取模运算符
本文最先发布在:https://www.itcoder.tech/posts/python-modulo-operator/
取模运算符是一个算术运算符,它计算一个数字除以另外一个数字之后,剩下的数字。这个剩下的数字(余数)被称作模数。
例如,5除以3,等于1,模数为2。8除以4,等于2,模数为0。
一、Python 取模操作符
在 Python 中,取模操作符是百分号(%)。语法如下:
num1 % num2
下面是一个例子:
5 % 4
输出:
1
如果被除数是0,那么一个错误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的自然数中,除了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
是否是一个正数。然后我们检查从2到num
都没有余数。如果没有一个条件满足,那么这个数字就是素数。
取模操作符还可以被用来换算。下面的例子显示如何将秒换成分钟:
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 除法运算符,去除浮点数,保留整数。
三、总结
在这篇文章中,我们向你展示如何使用 Python 的取模操作符。
如果你有任何疑问,请通过以下方式联系我们:
微信:
微信群: 加上面的微信,备注微信群
QQ: 3217680847
QQ 群: 82695646
上一篇: 理解向量的模和范数
下一篇: 求模平方根的技巧(2020年10月5日)