Cómo comprobar si un número es divisible por otro en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo comprobar si un número es divisible por otro utilizando Python. El laboratorio se centra en comprender el concepto de divisibilidad y aplicar el operador módulo (%) para determinar si un número se puede dividir uniformemente por otro, sin dejar residuo.

Crearás un script de Python llamado divisibility.py que demuestre cómo usar el operador módulo para comprobar la divisibilidad por 2, 3 y 5. Al ejecutar el script, observarás la salida que indica si el número 10 es divisible por cada uno de estos números. Esta experiencia práctica consolidará tu comprensión de la divisibilidad y el operador módulo en Python.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/ErrorandExceptionHandlingGroup -.-> python/catching_exceptions("Catching Exceptions") subgraph Lab Skills python/numeric_types -.-> lab-559547{{"Cómo comprobar si un número es divisible por otro en Python"}} python/conditional_statements -.-> lab-559547{{"Cómo comprobar si un número es divisible por otro en Python"}} python/for_loops -.-> lab-559547{{"Cómo comprobar si un número es divisible por otro en Python"}} python/catching_exceptions -.-> lab-559547{{"Cómo comprobar si un número es divisible por otro en Python"}} end

Aprende sobre Divisibilidad

En este paso, aprenderás sobre la divisibilidad en matemáticas y cómo se relaciona con la programación. La divisibilidad es un concepto fundamental que nos ayuda a entender si un número se puede dividir uniformemente por otro número, sin dejar residuo. Este concepto es crucial en diversas tareas de programación, como la validación de datos, la optimización de algoritmos y más.

Comencemos con un ejemplo sencillo. Considera el número 10. Es divisible por 2 porque 10 dividido por 2 es igual a 5, sin residuo. Del mismo modo, 10 es divisible por 5 porque 10 dividido por 5 es igual a 2, sin residuo. Sin embargo, 10 no es divisible por 3 porque 10 dividido por 3 es igual a 3 con un residuo de 1.

En Python, podemos comprobar la divisibilidad utilizando el operador módulo (%). El operador módulo devuelve el residuo de una división. Si el residuo es 0, significa que el número es divisible.

Para demostrar esto, creemos un script de Python llamado divisibility.py en tu directorio ~/project utilizando el editor VS Code.

## Create a script named divisibility.py
## Open VS Code editor and create a new file named divisibility.py in ~/project directory
## Add the following content to the file

number = 10

## Check if the number is divisible by 2
if number % 2 == 0:
    print(f"{number} is divisible by 2")
else:
    print(f"{number} is not divisible by 2")

## Check if the number is divisible by 3
if number % 3 == 0:
    print(f"{number} is divisible by 3")
else:
    print(f"{number} is not divisible by 3")

## Check if the number is divisible by 5
if number % 5 == 0:
    print(f"{number} is divisible by 5")
else:
    print(f"{number} is not divisible by 5")

Ahora, ejecutemos el script utilizando el intérprete de Python. Abre tu terminal y navega hasta el directorio ~/project:

cd ~/project

Luego, ejecuta el script:

python divisibility.py

Deberías ver la siguiente salida:

10 is divisible by 2
10 is not divisible by 3
10 is divisible by 5

Esta salida confirma que 10 es divisible por 2 y 5, pero no por 3, como discutimos anteriormente.

Comprender la divisibilidad y utilizar el operador módulo son habilidades esenciales para cualquier programador de Python. En los siguientes pasos, exploraremos aplicaciones más avanzadas de estos conceptos.

Utiliza el Operador Módulo

En este paso, profundizaremos en el operador módulo (%) y exploraremos sus diversas aplicaciones en Python. Como aprendiste en el paso anterior, el operador módulo devuelve el residuo de una división. Esta operación aparentemente sencilla es increíblemente versátil y se puede utilizar para resolver una amplia gama de problemas de programación.

Un caso de uso común del operador módulo es determinar si un número es par o impar. Un número par es divisible por 2, mientras que un número impar no lo es. Podemos comprobar esto fácilmente utilizando el operador módulo:

## Create a script named even_odd.py
## Open VS Code editor and create a new file named even_odd.py in ~/project directory
## Add the following content to the file

number = 17

if number % 2 == 0:
    print(f"{number} is even")
else:
    print(f"{number} is odd")

Guarda este código como even_odd.py en tu directorio ~/project. Ahora, ejecutemos el script:

cd ~/project
python even_odd.py

Deberías ver la siguiente salida:

17 is odd

Otra aplicación útil del operador módulo es recorrer una secuencia de números. Por ejemplo, supongamos que quieres asignar diferentes colores a una serie de elementos y solo tienes un número limitado de colores. Puedes utilizar el operador módulo para recorrer los colores:

## Create a script named colors.py
## Open VS Code editor and create a new file named colors.py in ~/project directory
## Add the following content to the file

items = ["apple", "banana", "cherry", "date", "elderberry"]
colors = ["red", "yellow", "purple"]

for i, item in enumerate(items):
    color_index = i % len(colors)
    color = colors[color_index]
    print(f"{item} is {color}")

Guarda este código como colors.py en tu directorio ~/project. Ahora, ejecutemos el script:

cd ~/project
python colors.py

Deberías ver la siguiente salida:

apple is red
banana is yellow
cherry is purple
date is red
elderberry is yellow

En este ejemplo, el operador módulo asegura que el color_index se mantenga dentro de los límites de la lista colors, lo que nos permite recorrer los colores repetidamente.

El operador módulo también es útil para tareas como validar datos de entrada, generar patrones e implementar algoritmos criptográficos. A medida que continúes tu viaje en Python, encontrarás muchas más formas creativas de utilizar este poderoso operador.

Manejar la División por Cero

En este paso, aprenderás cómo manejar los errores de división por cero en Python. La división por cero es un error común que ocurre cuando intentas dividir un número por cero. En matemáticas, la división por cero está indefinida, y en programación, por lo general resulta en un error que puede hacer que tu programa se bloquee.

Veamos qué sucede cuando intentamos dividir por cero en Python:

## Create a script named division_error.py
## Open VS Code editor and create a new file named division_error.py in ~/project directory
## Add the following content to the file

numerator = 10
denominator = 0

result = numerator / denominator

print(result)

Guarda este código como division_error.py en tu directorio ~/project. Ahora, ejecutemos el script:

cd ~/project
python division_error.py

Deberías ver un mensaje de error como este:

Traceback (most recent call last):
  File "/home/labex/project/division_error.py", line 4, in <module>
    result = numerator / denominator
ZeroDivisionError: division by zero

El ZeroDivisionError indica que hemos intentado dividir por cero. Para evitar que este error haga que nuestro programa se bloquee, podemos utilizar técnicas de manejo de errores. Un enfoque común es utilizar un bloque try-except:

## Create a script named safe_division.py
## Open VS Code editor and create a new file named safe_division.py in ~/project directory
## Add the following content to the file

numerator = 10
denominator = 0

try:
    result = numerator / denominator
    print(result)
except ZeroDivisionError:
    print("Error: Cannot divide by zero")

Guarda este código como safe_division.py en tu directorio ~/project. Ahora, ejecutemos el script:

cd ~/project
python safe_division.py

Deberías ver la siguiente salida:

Error: Cannot divide by zero

En este ejemplo, el bloque try intenta realizar la división. Si se produce un ZeroDivisionError, se ejecuta el bloque except, que imprime un mensaje de error en lugar de hacer que el programa se bloquee.

Otro enfoque es comprobar si el denominador es cero antes de realizar la división:

## Create a script named check_division.py
## Open VS Code editor and create a new file named check_division.py in ~/project directory
## Add the following content to the file

numerator = 10
denominator = 0

if denominator == 0:
    print("Error: Cannot divide by zero")
else:
    result = numerator / denominator
    print(result)

Guarda este código como check_division.py en tu directorio ~/project. Ahora, ejecutemos el script:

cd ~/project
python check_division.py

Deberías ver la siguiente salida:

Error: Cannot divide by zero

Ambos enfoques te permiten manejar los errores de división por cero de manera elegante y evitar que tu programa se bloquee. Elige el enfoque que mejor se adapte a tus necesidades y estilo de codificación.

Resumen

En este laboratorio, aprendiste sobre el concepto de divisibilidad en matemáticas y su aplicación en la programación en Python. Exploraste cómo determinar si un número es divisible por otro número comprobando si el residuo de su división es cero.

Utilizaste el operador módulo (%) en Python para encontrar el residuo de una división e implementaste declaraciones condicionales para imprimir si un número es divisible por 2, 3 y 5. Creaste y ejecutaste un script de Python llamado divisibility.py para demostrar este concepto.