Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Operadores Lógicos | Booleanos y Comparaciones
Tipos de Datos en Python

bookOperadores Lógicos

Las personas dicen "sí y sí", "sí o no", "definitivamente no". En Python, los operadores lógicos and, or y not expresan formalmente estas ideas y producen valores booleanos (True/False) que se utilizan con comparaciones en if/while.

Significado de cada operador

Precedencia

not tiene mayor prioridad que and, la cual tiene mayor prioridad que or (not > and > or). Utilizar paréntesis en caso de duda.

Por ejemplo, age >= 18 and has_id es True solo si ambas comprobaciones son verdaderas:

123
age = 21 has_id = True print(age >= 18 and has_id) # True
copy

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 compacta de razonar sobre la lógica sin ejecutar 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 corta (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 A es falso, toda la expresión es falsa y el resultado es A (Python no evalúa B);

  • Si A es verdadero, el resultado depende de B y la expresión se evalúa como B.

  • A or B:

  • Si A es verdadero, la expresión es verdadera y el resultado es A (Python no evalúa B);

  • Si A es falso, el resultado depende de B y la expresión se evalúa como B.

  • not X siempre retorna un valor Booleano real: True o False.

1234567891011121314151617
# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
copy

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?

question-icon

Rellena los espacios con True o False). Sea X = True, Y = False.

X and Y
not X

X or Y

question mark

¿Qué expresión corresponde a la lógica clásica para "ni X ni Y"?

Select the correct answer

question mark

¿Qué devuelve la expresión?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 5.26

bookOperadores 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 formalmente estas ideas y producen valores booleanos (True/False) que se utilizan con comparaciones en if/while.

Significado de cada operador

Precedencia

not tiene mayor prioridad que and, la cual tiene mayor prioridad que or (not > and > or). Utilizar paréntesis en caso de duda.

Por ejemplo, age >= 18 and has_id es True solo si ambas comprobaciones son verdaderas:

123
age = 21 has_id = True print(age >= 18 and has_id) # True
copy

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 compacta de razonar sobre la lógica sin ejecutar 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 corta (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 A es falso, toda la expresión es falsa y el resultado es A (Python no evalúa B);

  • Si A es verdadero, el resultado depende de B y la expresión se evalúa como B.

  • A or B:

  • Si A es verdadero, la expresión es verdadera y el resultado es A (Python no evalúa B);

  • Si A es falso, el resultado depende de B y la expresión se evalúa como B.

  • not X siempre retorna un valor Booleano real: True o False.

1234567891011121314151617
# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
copy

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?

question-icon

Rellena los espacios con True o False). Sea X = True, Y = False.

X and Y
not X

X or Y

question mark

¿Qué expresión corresponde a la lógica clásica para "ni X ni Y"?

Select the correct answer

question mark

¿Qué devuelve la expresión?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 4
some-alt