Introducción
La operación de módulo es una operación aritmética que encuentra el resto de dividir un número por otro. El resto se llama módulo de operación.
Por ejemplo, 5 dividido por 3 es igual a 1, con un resto de 2, y 8 dividido por 4 es igual a 2, con un resto de 0.
Operador de módulo Python
En Python, el operador de módulo está representado por el signo de porcentaje ( %
). La sintaxis es la siguiente:
num1 % num2
Aquí hay un ejemplo:
5 % 4
1
Si el divisor (el segundo argumento) es igual a cero, devolverá un ZeroDivisionError
:
5 % 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
El operador de módulo también acepta números de móvil como argumentos:
6.8 % 3.4
0.0
Al formatear cadenas, el %
representa el operador de interpolación.
Ejemplos de
Uno de los casos de uso más comunes para el operador de módulo es verificar si un número es par o impar. Si un número dividido por 2 no tiene resto, entonces es un número par. De lo contrario, si deja un resto de 1, el número es impar:
num = 11
if (num % 2) == 0:
print(num, "is even")
else:
print(num, "is odd")
Si ejecuta el código anterior, 11 % 2
deja un resto de 1 y se ejecuta else
(11, 'is odd')
Aquí hay otro ejemplo, que muestra cómo verificar si un número es un número primo, usando el operador módulo. Un número primo es un entero positivo que se puede dividir, sin resto, solo por sí mismo y por 1:
def isPrimeNumber(num):
if num < 1:
return False
for i in range(2, num):
if (num % i) == 0:
return False
else:
return True
Primero, estamos verificando si el número num
es un número positivo. Luego, verificamos si el número es divisible por otro número en el rango de 2
a num
sin un recordatorio. Si no se cumple ninguna de las condiciones, el número es primo.
El operador de módulo también se puede utilizar para convertir unidades de medida. El siguiente ejemplo muestra cómo convertir segundos a minutos:
def secondsToMinutes(sec):
seconds = sec //60
minutes = sec % 60
return "%d minutes and %d seconds" % (minutes, seconds)
secondsToMinutes(657)
'57 minutes and 10 seconds'
La barra doble ( //
), el operador de división de plano, redondea el resultado al número entero más cercano.
Conclusión
En este artículo, le mostramos cómo usar el operador de módulo de Python.