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.
Busca de dónde sale el divisor
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.
Referencia técnica: documentación oficial de excepciones de Python.