Guía de diagnóstico

ZeroDivisionError: el divisor llegó a cero y debes decidir qué significa

El caso interesante no es escribir literalmente 10 / 0, sino descubrir por qué un divisor calculado terminó valiendo cero y qué regla debe aplicar tu programa.

Revisado 2026-09-30Ejemplos y diagnóstico

Busca de dónde sale el divisor

promedio.py
valores = []
promedio = sum(valores) / len(valores)

La división falla porque len(valores) es cero. El origen real es una colección vacía, no una operación matemática escrita con un cero literal.

El caso cero necesita una decisión de dominio

Es un dato inválido

Detén el cálculo y comunica que faltan observaciones.

Tiene un resultado definido

Tu dominio puede decidir que el resultado sea 0, None u otra representación explícita.

Revela un bug anterior

El cero no debería poder existir; entonces valida la precondición más cerca de donde se genera.

No tapes el problema con un epsilon

Sumar 0.000001 al divisor para “evitar el error” cambia el significado del cálculo. Solo tendría sentido si forma parte de un método numérico justificado, no como parche general.

Prueba los límites, no solo el caso normal

Para promedios, tasas y porcentajes, incluye pruebas con cero elementos, denominador cero y valores negativos cuando sean posibles.

Señal de que ya lo entiendesPuedes provocar este error con un ejemplo mínimo, explicar qué supuesto se rompió y elegir una corrección que conserve la intención del programa.

Referencia técnica: documentación oficial de excepciones de Python.