Divmod en Python: dividir para obtener cociente y residuo

Bienvenido al blog de Parzibyte. Vas a encontrar tutoriales y tips de programación, bases de datos, redes, electrónica e informática general. Ejemplos de código, aplicaciones gratuitas y open source

Divmod en Python: dividir para obtener cociente y residuo

La función divmod en Python hace una división, la misma que podríamos hacer con el operador de división; pero esta devuelve dos valores: el cociente y el residuo.

Aunque parece simple, la función ahorra líneas de código, veamos las razones a continuación.

Nota: recuerda instalar Python en Windows, Android o probar el editor online.

Sintaxis y forma de uso de divmod

Como lo dije, esta función devuelve una tupla y recibe dos argumentos: el número que vamos a dividir y el número sobre el que vamos a dividir. O sea si hacemos esto:

sueldo_diario = 8000 / 5

Se remplazaría por esto:

sueldo_diario = divmod(8000, 5)

La ventaja de divmod es cuando queremos obtener también el residuo y el cociente de forma entera en una misma llamada, veremos abajo los ejemplos.

Ejemplo de uso de divmod

Veamos un claro ejemplo en donde se convierten segundos a minutos, y se saca el sobrante de los segundos.

No será complejo, vamos a convertir 125 segundos a minutos. Un minuto tiene 60 segundos, ¿verdad? entonces:

Primero obtenemos los minutos, y luego hacemos otra operación con % para obtener el residuo, que es 5. Sin embargo en casos largos ese código va a empeorar.

Un enfoque más limpio es el siguiente:

Aunque el resultado es el mismo, nos ahorramos algunas líneas y dejamos que la función separe el cociente y el residuo.

Conclusión

Las matemáticas y la programación se ayudan entre sí. Si sabemos muchas funciones matemáticas podremos escribir mejor código.

Un ejemplo de ello es la función divmod en Python que facilita la separación del cociente y el residuo de una división en una sola operación.

Si quieres aprender más sobre Python haz click aquí.

 

Un comentario

  1. […] vamos a usar la función divmod para convertir los segundos a horas y […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: