Saltar a contenido

banner

7. Operadores lógicos

Contamos con los operadores lógicos básicos, AND, OR y NOT. Los operadores lógicos toman el objeto como booleanos para realizar la comparación.

Estos operadores nos ayudan a realizar operaciones más complejas en las decisiones y ciclos.

Todo objeto con algún contenido será tomado como True, a menos que:

  • El objetos esté vacío, como [], (), {}
  • El objeto es False
  • El objeto es 0
  • El objeto es None
  • El objeto es cadena vacía "" o ''

En todos estos casos, se toman como False.

7.1 Operador AND

Con este operador se analizan dos comparaciones y si ambas son verdaderas, nos entrega un resultado True. La palabra reservada usada en python es and.

Tabla de verdad para el operador and

A B Resultado
False False False
False True False
True False False
True True True

La forma de aplicación:

Ejemplo Analizando resultado Resultado
6 < 10 and 3 > 0 True and True True
40 < 10 and 13 > 5 False and True False
9 < 12 and 4 > 8 True and False False
6 > 10 and 3 < 0 False and False False

7.1.1 Ejemplo con operador lógico and

a = 10
b = 10
c = -10

if a > 0 and b > 0:
    print("A y B son mayores que 0")

if a > 0 and b > 0 and c > 0:
    print("Todos los números son diferentes de 0")
else:
    print("Al menos un numero no es mayor a 0")
    A y B son mayores que 0
    Al menos un numero no es mayor a 0
# Aquí se comparan números, todos darán True, menos los que tenga el valor de 0
a = 10 # True
b = -12 # True
c = 0 # False

if a and b and c:
    print("Todos los números se toman como True")
else:
    print("Al menos un valor es False")
    Al menos un valor es False

7.2 Operador OR

Con este operador se analizan dos comparaciones y si algúna es verdadera, nos entrega un resultado True. La palabra reservada usada en python es or.

Tabla de verdad para el operador or

A B Resultado
False False False
False True True
True False True
True True True

La forma de aplicación:

Ejemplo Analizando resultado Resultado
6 < 10 or 3 > 0 True or True True
40 < 10 or 13 > 5 False or True True
9 < 12 or 4 > 8 True or False True
6 > 10 or 3 < 0 False or False False

7.2.1 Ejemplo con operador lógico or

a = 10
b = -10
c = 0

if a > 0 or b > 0:
    print("A o B es mayor que 0")
else:
    print("A y B no son mayores a 0")

if b > 0 or c > 0:
    print("B o C es mayor que 0")
else:
    print("B y C NO no son mayores que 0")
    A o B es mayor que 0
    B y C NO no son mayores que 0
a = 10
b = 12
c = 0

if a or b or c:
    print("Al menos un valor se considera True")
else:
    print("Todos los valores dan como resultado False")
    Al menos un valor se considera True

7.3 Operador not

Este operador invierte el resultado booleana que recibe. La palabra reservada es not

Tabla de verdad para el operador not

A Resultado
False True
True False

La forma de aplicación:

Ejemplo Analizando resultado Resultado
not(6 < 10) not(True) False
not(20 < 12) not(False) True
not(2 < 10) not(True) False
not(False) not(False) True

7.3.1 Ejemplo con operador lógico not

a = 10

if not a: #Invierto el valor booleano que da 10
    print("El valor booleane es True")

residuo_3 = a%3
residuo_5 = a%5

print(residuo_3)
print(residuo_5)

if not ( residuo_3 == 0 or residuo_5 == 0):
    print("10 no es divisible entre 3 o 5")
else:
    print("10 es divisible entre 3 or 5")
    1
    0
    10 es divisible entre 3 or 5

Realizado por el Instructor: Alejandro Leyva