Ejemplos módulo

# ─────────────────────────────────────────────
# BLOQUE 1: Comprobar si un número es par o impar
# ─────────────────────────────────────────────

numero=4  # guardamos el número que queremos analizar

# El operador % (módulo) devuelve el resto de la división.
# Si dividimos un número entre 2 y el resto es 0, el número es par.
# Ejemplo: 4 % 2 = 0  →  es par
#          7 % 2 = 1  →  es impar
if numero%2==0:
    print("Es par")   # se ejecuta si el resto es 0
else:
    print("Es impar") # se ejecuta si el resto es 1 (cualquier otro caso)


# ─────────────────────────────────────────────
# BLOQUE 2: Recorrer los números del 1 al 12 y decir si cada uno es par o impar
# ─────────────────────────────────────────────

contador=1  # el contador empieza en 1 (primer número que queremos mostrar)

# El bucle se repite mientras el contador sea menor o igual a 12.
# Cuando contador llegue a 13, la condición será falsa y el bucle terminará.
while contador<=12:

    print(contador)  # mostramos el número actual

    # Dentro del bucle comprobamos si ese número concreto es par o impar,
    # usando la misma lógica de antes (resto de dividir entre 2)
    if contador % 2 == 0:
        print("Es par")
    else:
        print("Es impar")

    # Muy importante: sumamos 1 al contador al final de cada vuelta.
    # Sin esta línea, contador siempre valdría 1 y el bucle nunca terminaría.
    contador=contador+1


# ─────────────────────────────────────────────
# BLOQUE 3: Comprobar si un año es bisiesto
# ─────────────────────────────────────────────

anyo=2100  # el año que queremos comprobar

# Un año es bisiesto si cumple UNA de estas dos condiciones:
#   1) Es divisible entre 4  Y  NO es divisible entre 100
#      (años normales bisiestos: 2024, 2028...)
#   2) Es divisible entre 400
#      (excepción a la regla anterior: 1600, 2000... sí son bisiestos)
# El año 2100 es divisible entre 4 PERO también entre 100 y NO entre 400,
# por eso NO es bisiesto (¡trampa habitual en los ejercicios!)
if (anyo%4==0 and anyo%100!=0) or anyo%400==0:
    print("Es bisiesto")
else:
    print("NO es bisiesto")


# ─────────────────────────────────────────────
# BLOQUE 4: Comprobar si un número es primo
# ─────────────────────────────────────────────

numero=15   # el número que queremos analizar
contador=2  # empezamos a probar divisores desde 2 (el 1 no cuenta)

# Partimos de que el número ES primo hasta que demostremos lo contrario
es_primo=True

# Un número es primo si no es divisible por ningún número entre 2 y él mismo.
# Probamos todos los posibles divisores desde 2 hasta numero-1.
while contador<numero:

    # Si el resto de dividir numero entre contador es 0,
    # significa que contador es un divisor exacto → el número NO es primo
    if numero%contador==0:
        es_primo=False  # cambiamos la bandera: ya sabemos que no es primo
        break           # break interrumpe el bucle inmediatamente,
                        # no tiene sentido seguir buscando más divisores

    contador=contador+1  # si no era divisible, probamos con el siguiente número

# Aquí ya salimos del bucle. Usamos la variable es_primo para saber el resultado.
# 15 = 3 × 5, así que no es primo. es_primo habrá quedado en False.
if es_primo:
    print("Es primo")
else:
    print("No es primo")


# ─────────────────────────────────────────────
# BLOQUE 5: Convertir huevos en docenas
# ─────────────────────────────────────────────

huevos=30  # cantidad total de huevos que tenemos

# // es la división entera: devuelve solo la parte entera, sin decimales.
# 30 // 12 = 2  (caben 2 docenas completas en 30 huevos)
docenas=huevos//12

# % es el módulo (resto): lo que sobra después de repartir las docenas.
# 30 % 12 = 6  (sobran 6 huevos después de formar las 2 docenas)
resto=huevos%12

# Las f-strings (cadenas que empiezan por f"...") permiten meter variables
# directamente dentro del texto usando llaves {variable}.
print(f"huevos: {huevos} son {docenas} docenas y quedan resto: {resto}")
# Resultado: huevos: 30 son 2 docenas y quedan resto: 6


# ─────────────────────────────────────────────
# BLOQUE 6: Desglosar una cantidad de dinero en billetes y monedas
# ─────────────────────────────────────────────

dinero=18  # cantidad en euros que queremos desglosar

# Cuántos billetes de 5€ caben en 18€
# 18 // 5 = 3  →  3 billetes de 5€  (que son 15€)
billetes=dinero//5

# Lo que sobra después de usar los billetes de 5€
# 18 % 5 = 3  →  quedan 3€ sueltos
resto=dinero%5

# De esos 3€ sueltos, cuántas monedas de 2€ podemos usar
# 3 // 2 = 1  →  1 moneda de 2€  (que son 2€)
monedas2=resto//2

# Lo que sobra después de las monedas de 2€ → monedas de 1€
# 3 % 2 = 1  →  1 moneda de 1€
monedas1=resto%2

# Mostramos el resultado completo
print(f"{dinero} € son {billetes} billetes de 5€, {monedas2} monedas de 2 € y {monedas1} monedas de 1 €")
# Resultado: 18 € son 3 billetes de 5€, 1 monedas de 2 € y 1 monedas de 1 €


# ─────────────────────────────────────────────
# BLOQUE 7: Convertir segundos en días, horas, minutos y segundos
# ─────────────────────────────────────────────

segundos=743214  # total de segundos que queremos convertir

# PASO 1: calcular los días
# Un día tiene 86400 segundos (24h × 60min × 60seg = 86400)
# 743214 // 86400 = 8  →  8 días completos
dias=segundos//86400

# Lo que sobra después de los días (en segundos)
# 743214 % 86400 = 49614  →  49614 segundos restantes
resto_dias=segundos%86400

# PASO 2: de los segundos restantes, calcular las horas
# Una hora tiene 3600 segundos (60min × 60seg = 3600)
# 49614 // 3600 = 13  →  13 horas completas
horas=resto_dias//3600

# Lo que sobra después de las horas (en segundos)
# 49614 % 3600 = 2814  →  2814 segundos restantes
resto_horas=resto_dias%3600

# PASO 3: de los segundos restantes, calcular los minutos
# Un minuto tiene 60 segundos
# 2814 // 60 = 46  →  46 minutos completos
minutos=resto_horas//60

# Lo que sobra después de los minutos son los segundos finales
# 2814 % 60 = 54  →  54 segundos
resto_segundos=resto_horas%60

# Mostramos el resultado completo desglosado
print(f"{segundos} segundos son {dias} días, {horas} horas, {minutos} minutos y {resto_segundos} segundos")
# Resultado: 743214 segundos son 8 días, 13 horas, 46 minutos y 54 segundos

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos