Parte 17 — Operadores lógicos
Combinar comparaciones
Los operadores lógicos permiten combinar valores booleanos.
Los principales son:
text terminal
and
or
notand
and produce True solamente cuando ambas condiciones son verdaderas.
python terminal
saldo = 1000
gasto = 500
resultado = saldo > 0 and gasto > 0
print(resultado)Resultado:
text terminal
TrueAmbas condiciones se cumplen.
Tabla sencilla de and
| Primera condición | Segunda condición | Resultado |
|---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
Comprobar un rango
python terminal
porcentaje = 25
es_valido = porcentaje >= 0 and porcentaje <= 100
print(es_valido)Resultado:
text terminal
TrueTambién:
python terminal
es_valido = 0 <= porcentaje <= 100or
or produce True cuando al menos una condición es verdadera.
python terminal
moneda = "CRC"
es_moneda_admitida = moneda == "CRC" or moneda == "USD"
print(es_moneda_admitida)Resultado:
text terminal
TrueTabla sencilla de or
| Primera condición | Segunda condición | Resultado |
|---|---|---|
True | True | True |
True | False | True |
False | True | True |
False | False | False |
not
not invierte un valor booleano.
python terminal
cuenta_bloqueada = False
cuenta_disponible = not cuenta_bloqueada
print(cuenta_disponible)Resultado:
text terminal
TrueOtro ejemplo de not
python terminal
datos_guardados = False
print(not datos_guardados)Resultado:
text terminal
TrueSignifica:
Los datos no están guardados.
Combinar operadores lógicos
python terminal
saldo = 1000
gasto = 500
cuenta_activa = True
operacion_permitida = cuenta_activa and gasto > 0 and gasto <= saldo
print(operacion_permitida)Resultado:
text terminal
TrueLa operación cumple todas las condiciones:
- La cuenta está activa.
- El gasto es positivo.
- El gasto no supera el saldo.
En el próximo capítulo utilizaremos esta expresión dentro de un if.
Utilizar paréntesis para mejorar la lectura
python terminal
operacion_permitida = (
cuenta_activa
and gasto > 0
and gasto <= saldo
)Los paréntesis permiten dividir una expresión larga en varias líneas.