Parte 22 — Leer errores matemáticos
ZeroDivisionError
Código:
promedio = 1000 / 0Error:
ZeroDivisionError: division by zeroSignifica que intentamos dividir entre cero.
TypeError
Código:
saldo = "1000"
ingreso = 500
resultado = saldo + ingresoError posible:
TypeErrorSignifica que los tipos no son compatibles con esa operación.
NameError
Código:
saldo_final = saldo_inicial + ingresos - gastosSi nunca creamos ingresos, Python puede mostrar:
NameError: name 'ingresos' is not definedResultado incorrecto sin error
Este caso es especialmente importante.
gasto_1 = 300
gasto_2 = 500
gasto_3 = 700
promedio = gasto_1 + gasto_2 + gasto_3 / 3El programa funciona, pero el resultado es incorrecto por el orden de las operaciones.
No todos los problemas producen mensajes rojos.
Algunos son errores lógicos.
¿Qué es un error lógico?
Un error lógico ocurre cuando el programa se ejecuta, pero realiza una operación diferente a la deseada.
Ejemplo:
saldo_final = saldo_inicial - ingresos + gastosQuizá queríamos:
saldo_final = saldo_inicial + ingresos - gastosPython no sabe cuál era nuestra intención.
Ambas expresiones son válidas.
El desarrollador debe revisar la lógica.
Comprobar valores intermedios
Cuando un resultado parece incorrecto, muestra las partes:
print("Saldo inicial:", saldo_inicial)
print("Ingresos:", ingresos)
print("Gastos:", gastos)
print("Saldo final:", saldo_final)También:
print("Porcentaje decimal:", porcentaje / 100)Esto ayuda a encontrar dónde cambió el resultado.