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
a
yb
son 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
a
ob
es 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
a
es 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
and
evalú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 unFalse
con cualquier cosa usandoand
siempre 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ónand
esTrue
. - Si alguna de las expresiones es
False
, el resultado de la operaciónand
esFalse
.
- 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
or
evalú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 unTrue
con cualquier cosa usandoor
siempre 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ónor
esTrue
. - Si ambas expresiones son
False
, el resultado de la operaciónor
esFalse
.
- 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
.