sábado, 19 de abril de 2025

Thinkcspy. Seleccion / 7.2 Operadores lògicos

 

7.2. Operadores lógicos

Hay tres operadores lógicos : and, or, y not. El La semántica (significado) de estos operadores es similar a su significado en inglés. Por ejemplo, x > 0 and x < 10 es cierto solo si x es mayor que 0 y Al mismo tiempo, X es menos de 10. ¿Cómo describirías esto en palabras? Dirías que X está entre 0 y 10, sin incluir los puntos finales.

n % 2 == 0 or n % 3 == 0 es cierto si alguna de las condiciones es verdad es decir, si el número es divisible por 2 o divisible por 3. En este caso, uno u otro, o otro Ambas partes deben ser ciertas para que el resultado sea verdadero.

Finalmente, el not El operador niega una expresión booleana, por lo tanto not  x > y es cierto si x > y es falso, es decir, si x es menor o igual a y

>> x = 5                                     # PPI: Se define la vairable x y se le asigna el valor de 5
>>print(x > 0 and x < 10)        # PPI: debe imprimir True porque amabas condiciones lo son

>>n = 25                                  # PPI: se define una segunda variable n y se le asigna 25
>>print(n % 2 == 0 or n % 3 == 0)    #PPI: deberia imprimir false

>>>

True
False

Al tratar de mostrar cómo funcionan los operadores lógicos, los informáticos y los matemáticos usarán tanto Tablas de verdad . Una tabla de verdad es una pequeña tabla que enumera todas las entradas posibles en sus columnas izquierdas y Luego mostrará la salida de su operador lógico particular en la columna derecha. Tomar la lógica operador and Por ejemplo:




a

b

a and b

T

T

T

T

F

F

F

T

F

F

F

F

La t en la tabla representa True Mientras la F significa False. Observe que cuando A y B son ambos True, el operador logcial and salidas True. Así es exactamente como Normalmente usamos "y" en la conversación diaria. Aquí están el resto de los operadores:







a

b

a and b

a or b

not a

not b

T

T

T

T

F

F

T

F

F

T

F

T

F

T

F

T

T

F

F

F

F

F

T

T

Además, Google ha proporcionado este breve video que muestra diferentes operadores lógicos:

 

En el video, cada letra es representativa de un operador lógico y solo muestra su color cuando el correspondiente X o Y se muestra en la segunda g . Si echas un vistazo a Xor, notarás Solo es colorido cuando X o Y se muestra Esto se llama exclusive or, que no estaremos usando.

¡ADVERTENCIA!

Hay un error muy común que ocurre cuando los programadores intentan escribir expresiones booleanas. Por ejemplo, ¿qué pasa si tenemos una variable? number y queremos verificar si su valor es 5,6 o 7. En palabras podríamos decir: "Número igual a 5 o 6 o 7". Sin embargo, si traducimos esto a Python, number == 5 or 6 or 7, no será correcto. El or El operador debe unirse a los resultados de tres controles de igualdad. La forma correcta de escribir esto es number == 5 or number == 6 or number == 7. Esto puede parecer una gran cantidad de escritura, pero es absolutamente necesario. No puedes tomar un atajo.


¿Cuál es una expresión de Python correcta para verificar si un número almacenado en una variable x está entre 0 y 5?



Respuesta: C.

Digamos que se está registrando para las clases del próximo semestre. Tienes la opción A, que es tu clase de arte y la opción B, que es tu clase de matemáticas. Necesitas ambos, pero es una carrera entre el tiempo y la suerte. Si termina registrándose a tiempo para la opción A, pero no obtiene su elección B, ¿qué operadores lógicos serían verdaderos?




Respuesta: B y D

 

7.2.1. Opuestos lógicos

Cada uno de los seis operadores relacionales tiene un opuesto lógico: por ejemplo, supongamos que podemos obtener una licencia de conducir cuando nuestra edad es mayor o igual a 17, no obtener la licencia de conducir cuando tenemos menos de 17 años.

Operador

Definición

Opuestos lógicos

==

Igual a

!=

!=

No es igual a

==

<

Menos que

>=

<=

Menos o igual a

>

>

Más que

<=

>=

Mayor o igual a

<

Comprender estos opuestos lógicos nos permite a veces deshacernos not operadores. not Los operadores a menudo son bastante difíciles de leer en el código de computadora, y nuestras intenciones generalmente serán más claras si podemos eliminarlos.

Por ejemplo, si escribimos esta pitón:

>>if not (age >= 17):
>>   print("Hey, you're too young to get a driving licence!")

Probablemente sería más claro usar las leyes de simplificación y escribir en su lugar:

>>if age < 17:
>>   print("Hey, you're too young to get a driving licence!")

Dos poderosas leyes de simplificación (llamadas leyes de De Morgan) que a menudo son útiles cuando se trata de expresiones booleanas complicadas son:

not (x and y)  ==  (not x) or (not y)
not (x or y)   ==  (not x) and (not y)

Por ejemplo, suponga que desea actualizar su teléfono; Sin embargo, su teléfono solo se actualizará si tiene al menos un 50% de duración de la batería y el 15% de su almacenamiento disponible. Mientras miramos el código de Python para esto, vemos:

if not ((phone_charge >= 0.50) and (phone_storage >= .15)):
   print("You cannot restart your phone. Battery too low or not enough free space.")
else:
   print("Updating now...Several restarts may be required.")

La aplicación de reglas de opuestos lógicos nos permitiría reelaborar la condición de una forma (quizás) más fácil de entender como esta:

if (phone_charge < 0.50) or (phone_storage < .15):
   print("You cannot restart your phone. Battery too low or not enough free space.")
else:
   print("Updating now...Several restarts may be required.")

También podríamos deshacernos del not Al cambiar el theny else partes del condicional. Así que aquí hay una tercera versión, también equivalente:

if (phone_charge >= 0.50) and (phone_storage >= .15):
   print("Updating now...Several restarts may be required.")
else:
   print("You cannot restart your phone. Battery too low or not enough free space.")

Esta versión es probablemente la mejor de los tres, porque coincide muy bien con la declaración inicial en inglés. La claridad de nuestro código (para otros humanos), y facilita ver que el código hace lo que se esperaba siempre debería ser una alta prioridad.

A medida que se desarrollen nuestras habilidades de programación, encontraremos que tenemos más de una forma de resolver cualquier problema. buenos programas diseñan . Tomamos decisiones que favorecen la claridad, la simplicidad y la elegancia. El arquitecto de software dice mucho sobre lo que hacemos - somos arquitectos quienes diseñan nuestros productos para equilibrar la belleza, la funcionalidad, la simplicidad y la claridad en nuestras creaciones. 

 

No hay comentarios.:

Publicar un comentario

Entradas recientes

Sympy: Mecanica, Ejemplo de oscilador con un pendulo

  Oscilador Duffing con un péndulo En este ejemplo demostramos el uso de la funcionalidad proporcionada en sympy.physics.mechanics para de...

Entradas Populares