Operadores Lógicos
Las personas dicen "sí y sí", "sí o no", "definitivamente no". En Python, los operadores lógicos and, or y not expresan estas ideas de manera formal y producen valores booleanos (True/False) que se utilizan con comparaciones en if/while.
Qué significa cada operador
Precedencia
not tiene mayor prioridad que and, que a su vez tiene mayor prioridad que or (not > and > or). Utiliza paréntesis en caso de duda.
Por ejemplo, age >= 18 and has_id es True solo si ambas comprobaciones son verdaderas:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Tabla de verdad
Una tabla de verdad enumera todos los posibles valores de verdad de las entradas y muestra el resultado de una expresión lógica. Es una forma concisa de razonar sobre la lógica sin ejecutar el código.
Uso de la tabla
Si X es False y Y es True, entonces X and Y es False, X or Y es True y not X es True.
Valores de retorno y evaluación perezosa (juntos)
and y or no siempre devuelven las palabras True/False; retornan uno de sus operandos, y Python puede detenerse antes una vez que el resultado es conocido.
-
A and B: -
Si
Aes falso, toda la expresión es falsa y el resultado esA(Python no evalúaB); -
Si
Aes verdadero, el resultado depende deBy la expresión se evalúa comoB. -
A or B: -
Si
Aes verdadero, la expresión es verdadera y el resultado esA(Python no evalúaB); -
Si
Aes falso, el resultado depende deBy la expresión se evalúa comoB. -
not Xsiempre retorna un valor Booleano real:TrueoFalse.
P2. ¿Qué afirmación coincide con la lógica clásica para "ni X ni Y"?
A) not X or not Y
B) not (X or Y)
C) not X and Y
D) X and not Y
P3. ¿Qué devuelve la expresión?
username = ""
result = username or "Anonymous"
A) "" B) "Anonymous" C) True D) False
Clave de respuestas: P1 → False, False, True; P2 → B; P3 → B.
12345678# Using the returned operand behavior + short-circuiting print("" or "Guest") # "Guest" (left falsey → returns right) print("User" or "Guest") # "User" (left truthy → returns left) print(0 and 123) # 0 (left falsey → returns left) print(5 and 123) # 123 (left truthy → returns right) print(not 0, not "hi") # True False
1. Rellena los espacios con True o False. Sea X = True, Y = False.
2. ¿Qué expresión corresponde a la lógica clásica para "ni X ni Y"?
3. ¿Qué devuelve la expresión?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain what "short-circuiting" means in more detail?
How do I know if a value is considered "truthy" or "falsey" in Python?
Can you give more examples of using logical operators with different data types?
Awesome!
Completion rate improved to 5
Operadores Lógicos
Desliza para mostrar el menú
Las personas dicen "sí y sí", "sí o no", "definitivamente no". En Python, los operadores lógicos and, or y not expresan estas ideas de manera formal y producen valores booleanos (True/False) que se utilizan con comparaciones en if/while.
Qué significa cada operador
Precedencia
not tiene mayor prioridad que and, que a su vez tiene mayor prioridad que or (not > and > or). Utiliza paréntesis en caso de duda.
Por ejemplo, age >= 18 and has_id es True solo si ambas comprobaciones son verdaderas:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Tabla de verdad
Una tabla de verdad enumera todos los posibles valores de verdad de las entradas y muestra el resultado de una expresión lógica. Es una forma concisa de razonar sobre la lógica sin ejecutar el código.
Uso de la tabla
Si X es False y Y es True, entonces X and Y es False, X or Y es True y not X es True.
Valores de retorno y evaluación perezosa (juntos)
and y or no siempre devuelven las palabras True/False; retornan uno de sus operandos, y Python puede detenerse antes una vez que el resultado es conocido.
-
A and B: -
Si
Aes falso, toda la expresión es falsa y el resultado esA(Python no evalúaB); -
Si
Aes verdadero, el resultado depende deBy la expresión se evalúa comoB. -
A or B: -
Si
Aes verdadero, la expresión es verdadera y el resultado esA(Python no evalúaB); -
Si
Aes falso, el resultado depende deBy la expresión se evalúa comoB. -
not Xsiempre retorna un valor Booleano real:TrueoFalse.
P2. ¿Qué afirmación coincide con la lógica clásica para "ni X ni Y"?
A) not X or not Y
B) not (X or Y)
C) not X and Y
D) X and not Y
P3. ¿Qué devuelve la expresión?
username = ""
result = username or "Anonymous"
A) "" B) "Anonymous" C) True D) False
Clave de respuestas: P1 → False, False, True; P2 → B; P3 → B.
12345678# Using the returned operand behavior + short-circuiting print("" or "Guest") # "Guest" (left falsey → returns right) print("User" or "Guest") # "User" (left truthy → returns left) print(0 and 123) # 0 (left falsey → returns left) print(5 and 123) # 123 (left truthy → returns right) print(not 0, not "hi") # True False
1. Rellena los espacios con True o False. Sea X = True, Y = False.
2. ¿Qué expresión corresponde a la lógica clásica para "ni X ni Y"?
3. ¿Qué devuelve la expresión?
¡Gracias por tus comentarios!