Skip to main content

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:

  1. AND (y):

    • Sintaxis: a and b
    • Devuelve True si ambas expresiones a y b son True; de lo contrario, devuelve False.
    >>> True and True
    True
    >>> True and False
    False
    >>> False and False
    False
  2. OR (o):

    • Sintaxis: a or b
    • Devuelve True si al menos una de las expresiones a o b es True; devuelve False si ambas son False.
    >>> True or True
    True
    >>> True or False
    True
    >>> False or False
    False
  3. NOT (no):

    • Sintaxis: not a
    • Devuelve True si la expresión a es False, y viceversa.
    >>> not True
    False
    >>> not False
    True

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:​

  1. 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 es False. No se evalúa la expresión en el lado derecho (expresion2), ya que la combinación de un False con cualquier cosa usando and siempre resultará en False.
    • Si la expresión en el lado izquierdo es True, entonces se evalúa la expresión en el lado derecho (expresion2).
  2. Resultado:

    • Si ambas expresiones son True, el resultado de la operación and es True.
    • Si alguna de las expresiones es False, el resultado de la operación and es False.

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:​

  1. 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 es True. No se evalúa la expresión en el lado derecho (expresion2), ya que la combinación de un True con cualquier cosa usando or siempre resultará en True.
    • Si la expresión en el lado izquierdo es False, entonces se evalúa la expresión en el lado derecho (expresion2).
  2. Resultado:

    • Si al menos una de las expresiones es True, el resultado de la operación or es True.
    • Si ambas expresiones son False, el resultado de la operación or es False.

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.