full stack developer

Operadores logicos

curso-python 2020-07-29 21:00:00

Los operadores lógicos son 3: and, or y not, y ellos nos ayudan a realizar diferentes operadores lógicas, comunmente son usados para agrupar expresiones, por ejemplo en las expresiones a evaluar en los if que aprendimos anteriormente, como tambien para negar expresiones.

Sus usos son bastante intuitivos según sus nombres, and (operador de conjunción lógica) devuelve True (verdadero) si dos condiciones se cumplen, si algunas de ellas no se cumple devolverá False (falso).

El or (disyunción lógica) en cambio devolverá True si al menos se cumple una de las condiciones, en caso contrario devolverá False.

El operador not (negación lógica) niega un valor o expresión.

Estos operadores funcionan entonces de la siguiente forma

True and True devolvera True
True and False devolvera False
False and False devolvera False
True or True devolverá True 
True or False devolverá True
False or True devolverá True
False or False devolvera False
not True devolvera False
not False devolvera Verdadero

Estas reglas lógicas son de suma importancia al programar, es de vital importancia que entiendas su uso, para ellos veamos unos ejemplos

variable = 10
print(variable > 5 and variable <20)

Si ejecutas el código superior python imprimira en pantalla True, ya que lo primero que hace es evaluar si variable es mayor a 5, lo que es verdadero (True), luego evalua si variable es menor a 20, lo que también es verdadero (True), y finalmente evalua True and True, y como hemos visto anteriormente eso nos da verdadero

Modifiquemos el código y asignemos a variable un valor de 30, en ese caso python nos devolverá False, ya que se cumple la primera condicion (variabe > 5) pero no se cumple la segundo (variable <20), luego al comparar estas expresiones (True and False) segun las reglas lógicas nos devuelve False.

Supongamos ahora el siguiente ejemplo (nota que cambiamos el operador and por un or)

variable = 1
print(variable > 5 or variable <20)

Que crees que devolverá el código, analicemos, como la variable no es mayor a 5 la primera comparación devolvera False, mientras la segunda comparación al ser variable menor a 20 devolverá Verdadero, y como vimos anteriormente False or True nos devolverá True, ya que al menos una expresión es verdadera.

El siguiente ejemplo es muy sencillo, ya que el operador de negación devuelve siempre lo opuesto, por lo tanto el código siguiente devolverá True

print(not 1>5)

Es decir, python primero evalúa si 1 es mayor que 5, lo que da True, y entonces el operador not lo que hace es negar ese valor (es decir, nos devuelve el valor opuesto).

Volvamos ahora a un ejemplo anterior y hagamos las siguiente modificaciones

python_es_facil = True
estudiare = True
if python_es_facil and estudiare:
    print("voy a aprender python muy rapido")
elif not python_es_facil and estudiare:
    print("voy a aprender python pero me llevara mucho tiempo")
else:
    print("no voy a aprender python")

Prueba a ejecutar ese codigo y veras que se desplegará el mensaje "voy a aprender python muy rapido" ya que ambas condiciones unidad con el and se cumplen.

Si asignas el valor de la variable python_es_facil a False, veras que el mensaje mostrado será "voy a aprender python pero me llevara mucho tiempo", ya que el operador not niega el valor la variable, transformandola en este caso en True, y el segundo operando (estudiare) es True, y como vimos True and True es siempre True.

Por último con el else mostramos el mensaje "no voy a aprender python", el cual sólo verás si estudiare esta setado en False. Pero descuida esto ha sido solo un ejemplo, ya que python es unos de los lenuajes mas sencillos de aprender, y si estas leyendo estas líneas seguro que estudiar es tu objetivo, en breve python será una herramienta que dominarás, sigamos adelante!




walterdiaz.dev | full stack developer