3. Lógicos

3.1. AND

Operador : and

Este operador "and" , también se conoce como "Y" lógico

"and", es una Palabra Clave o Reservada.

Para entender el concepto vamos a usar una analogía hidráulica.

Figura 1

Esto es una analogía de lo que sería la operación de un AND.

Si queremos que el agua pase en el sentido de la flecha, las DOS llaves de paso DEBEN estar abiertas, de lo contrario NUNCA pasará el agua.

Plantemos las posibilidades en una tabla:

 Figura 2

Podemos ver que la ÚNICA posibilidad es que ambas llaves estén abiertas.

Podemos observar que los estados de las llaves de paso son del tipo Booleano, es decir, sólo permiten 2 estados:  Abierto o Cerrado.

Si planteamos esto con los valores posibles True ( abierta) o False ( cerrada) quedaría:

 Figura 3

Esta es la tabla de AND, se conoce como álgebra de Boole, o álgebra booleana, fué definida por George Boole en una publicación de 1847.


Esta tabla se utilizan el los sistemas lógicos en particular en Electrónica, y sabemos que los Microprocesadores están formados por transistores

que son componentes Electrónicos, de allí la relación tan estrecha. Como estos sistemas funcionan con Sistema de Numeración Binaria, la tabla también se suele escribir:

 Figura 4

Veamos esto en Python como se usa, vamos a mostrar la tabla para “and”

  

Figura 5

Podemos ver en la figura como se señala el uso del operador “and” dentro de format en este caso particular.

Bien podría estar en cualquier otra expresión.

 

¿Cuántas combinaciones tenemos para dos entradas distintas donde cada entrada puede tener dos estados o valores posibles?

Con el propósito de darle algo mas de sentido con algún ejemplo, vamos a introducir el operador > (mayor), los cuales veremos en el próximo tema con mayor profundidad.

El operador mayor  realiza una comparación y retorna un valor booleano.  Vemos un ejemplo:

 

Figura 6

 

a. ¿Cuáles son las dos entradas de el operador and que se encuentra como argumento de format en la línea 14?

b. Ingrese varios valores para que le permitan comprobar la tabla de and de la figura 3. ¿ Obtuvo los valores correctos?

c. ¿Qué pasa para si cambio format(x<y and a<b) en la línea 14? Modifique en texto del string del print para que la salida se la correcta para esta modificación propuesta