Operadores lógicos
En Python, los operadores lógicos son utilizados para realizar operaciones lógicas entre valores booleanos (True o False). Estos operadores permiten combinar o modificar expresiones booleanas y son esenciales para construir condiciones y controlar el flujo de un programa.
Los principales operadores lógicos en Python son:
-
AND (y):
- Sintaxis:
a and b - Devuelve True si ambas expresiones
aybson True; de lo contrario, devuelve False.
>>> True and True
True
>>> True and False
False
>>> False and False
False - Sintaxis:
-
OR (o):
- Sintaxis:
a or b - Devuelve True si al menos una de las expresiones
aobes True; devuelve False si ambas son False.
>>> True or True
True
>>> True or False
True
>>> False or False
False - Sintaxis:
-
NOT (no):
- Sintaxis:
not a - Devuelve True si la expresión
aes False, y viceversa.
>>> not True
False
>>> not False
True - Sintaxis:
Estos operadores lógicos son esenciales en las estructuras condicionales (como if, elif, y else) para tomar decisiones basadas en condiciones booleanas. También se utilizan en expresiones booleanas más complejas en diversos contextos de programación.
Ejemplo de uso en una estructura condicional:
x = 5
y = 10
if x > 0 and y > 0:
print("Ambas variables son mayores que 0.")
else:
print("Al menos una de las variables no es mayor que 0.")
En este ejemplo, la expresión x > 0 and y > 0 utiliza el operador and para verificar si ambas variables son mayores que 0 antes de ejecutar el bloque de código dentro del if.
AND
El operador and es un operador lógico binario en Python que se utiliza para combinar dos expresiones booleanas. Devuelve True si ambas expresiones son True, y False en cualquier otro caso. Aquí hay una explicación más detallada del operador and:
Sintaxis:
expresion1 and expresion2
Funcionamiento:
-
Evaluación de Expresiones:
- El operador
andevalúa primero la expresión en el lado izquierdo (expresion1). - Si la expresión en el lado izquierdo es
False, la evaluación se detiene y el resultado esFalse. No se evalúa la expresión en el lado derecho (expresion2), ya que la combinación de unFalsecon cualquier cosa usandoandsiempre resultará enFalse. - Si la expresión en el lado izquierdo es
True, entonces se evalúa la expresión en el lado derecho (expresion2).
- El operador
-
Resultado:
- Si ambas expresiones son
True, el resultado de la operaciónandesTrue. - Si alguna de las expresiones es
False, el resultado de la operaciónandesFalse.
- Si ambas expresiones son
Ejemplos:
# Ejemplo 1
a = True
b = True
resultado = a and b
print(resultado) # Output: True
# Ejemplo 2
c = True
d = False
resultado = c and d
print(resultado) # Output: False
# Ejemplo 3
e = False
f = True
resultado = e and f
print(resultado) # Output: False
# Ejemplo 4
g = False
h = False
resultado = g and h
print(resultado) # Output: False
Uso en Estructuras Condicionales:
x = 5
y = 10
if x > 0 and y > 0:
print("Ambas variables son mayores que 0.")
else:
print("Al menos una de las variables no es mayor que 0.")
En este ejemplo, el if se ejecutará solo si ambas condiciones (x > 0 y y > 0) son True. Si alguna de las condiciones es False, el bloque de código dentro del else se ejecutará.
OR
El operador or es otro operador lógico binario en Python que se utiliza para combinar dos expresiones booleanas. Devuelve True si al menos una de las expresiones es True; devuelve False solo si ambas expresiones son False. Aquí hay una explicación más detallada del operador or:
Sintaxis:
expresion1 or expresion2
Funcionamiento:
-
Evaluación de Expresiones:
- El operador
orevalúa primero la expresión en el lado izquierdo (expresion1). - Si la expresión en el lado izquierdo es
True, la evaluación se detiene y el resultado esTrue. No se evalúa la expresión en el lado derecho (expresion2), ya que la combinación de unTruecon cualquier cosa usandoorsiempre resultará enTrue. - Si la expresión en el lado izquierdo es
False, entonces se evalúa la expresión en el lado derecho (expresion2).
- El operador
-
Resultado:
- Si al menos una de las expresiones es
True, el resultado de la operaciónoresTrue. - Si ambas expresiones son
False, el resultado de la operaciónoresFalse.
- Si al menos una de las expresiones es
Ejemplos:
# Ejemplo 1
a = True
b = True
resultado = a or b
print(resultado) # Output: True
# Ejemplo 2
c = True
d = False
resultado = c or d
print(resultado) # Output: True
# Ejemplo 3
e = False
f = True
resultado = e or f
print(resultado) # Output: True
# Ejemplo 4
g = False
h = False
resultado = g or h
print(resultado) # Output: False
Uso en Estructuras Condicionales:
x = 5
y = -3
if x > 0 or y > 0:
print("Al menos una de las variables es mayor que 0.")
else:
print("Ambas variables son menores o iguales a 0.")
En este ejemplo, el if se ejecutará si al menos una de las condiciones (x > 0 o y > 0) es True. Solo si ambas condiciones son False, se ejecutará el bloque de código dentro del else.
Tablas de verdad
Las tablas de verdad para los operadores AND y OR:
Operador AND (and):
| A | B | A and B |
|-------|-------|---------|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
Operador OR (or):
| A | B | A or B |
|-------|-------|---------|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
En estas tablas de verdad, A y B son las dos expresiones booleanas que se están combinando con los operadores AND y OR. El resultado (A and B o A or B) muestra el valor booleano resultante de la combinación de A y B.