Parte 18 — Orden entre comparaciones y operadores lógicos
Comparaciones primero
En:
python terminal
resultado = saldo > 0 and gasto <= saldoPython evalúa primero:
python terminal
saldo > 0y:
python terminal
gasto <= saldoDespués combina ambos resultados con and.
Ejemplo paso a paso
python terminal
saldo = 1000
gasto = 500
resultado = saldo > 0 and gasto <= saldoPrimera comparación:
text terminal
1000 > 0
TrueSegunda comparación:
text terminal
500 <= 1000
TrueOperación lógica:
text terminal
True and True
TrueExpresiones complejas
python terminal
resultado = saldo > 0 and gasto <= saldo or es_administradorPuede ser difícil saber qué pretendía el desarrollador.
Es mejor utilizar paréntesis:
python terminal
resultado = (saldo > 0 and gasto <= saldo) or es_administradorAsí queda claro que un administrador también podría autorizar la operación.
No necesitamos crear reglas tan complejas todavía.