La operación módulo es una operación aritmética que encuentra el resto de la división de un número por otro. El resto se llama módulo de la 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 de Python

En Python, el operador de módulo se representa con 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, ZeroDivisionErrorse eleva:

5 % 0
ZeroDivisionError: integer division or modulo by zero

El operador módulo también acepta números flotantes como argumentos:

6.8 % 3.4
0.0
Al formatear cadenas, el %carácter representa el operador de interpolación.

Ejemplos

Uno de los casos de uso común del operador módulo es comprobar 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, entonces 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 % 2deja un resto de 1 y se ejecuta el código dentro de la elseinstrucción :

11 is odd

Aquí hay otro ejemplo, que muestra cómo verificar si un número es un número primo, usando el operador de 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 comprobando si el número numes un número positivo. Luego estamos comprobando si el número es divisible por otro número en el rango de 2numsin un recordatorio. Si no se cumple ninguna de las condiciones, el número es primo.

El operador 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'

El operador de división de piso con doble barra ( //), 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.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.