Expresiones booleanas
Ejemplos de transcripción
- "Iré en bicicleta a comprar si no está lloviendo y si el negocio está a menos de 5 km"
clima != "Lluvia" and distancia < 5
- "Hago deporte si es martes o jueves"
dia == "Martes" or dia == "Jueves"
Leyes de Morgan
Lenguaje natural
- La negación de la conjunción es la disyunción de las negaciones.
- La negación de la disyunción es la conjunción de las negaciones.
Formalmente
- \(\neg (a \land b) \iff (\neg a) \lor (\neg b)\)
- \(\neg (a \lor b) \iff (\neg a) \land (\neg b)\)
Python
not (a and b) == (not a) or (not b)
not (a or b) == (not a) and (not b)
Ejemplos
- Para ser presidente de Chile se debe ser chileno por nacimiento y mayor de \(35\):
nacionalidad == "chilena" and edad > 35
¿Cuándo no se puede ser presidente de Chile?
Python
not (nacionalidad == "chilena") or not (edad > 35)
nacionalidad != "chilena" or edad <= 35
- Dejo de comer cuando ya no tengo comida en el plato o cuando no tengo hambre
plato != 'comida' or not hambre
¿Cuándo sigo comiendo?
Python
not (plato != 'comida') and not (not hambre)
plato == "comida" and hambre
Propiedades
Los operadores and
y or
tienen las mismas propiedades de asociatividad y distributividad que los operadores aritméticos *
y +
.
Ejemplo
"Hago deporte si es martes o jueves y hay sol"
(dia == "Martes" or dia == "Jueves") and clima == "Sol"
(dia == "Martes" and clima == "Sol") or (dia == "Jueves" and clima == "Sol")