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.