Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Operadores Lógicos | Declaración if en Python
Sentencias Condicionales en Python
course content

Contenido del Curso

Sentencias Condicionales en Python

Sentencias Condicionales en Python

1. Declaración if en Python
2. Declaración if-else en Python
3. Declaración if-elif-else de Python
4. Operador Ternario de Python

bookOperadores Lógicos

Anteriormente, exploramos situaciones que implicaban una única condición en la sentencia if. Ahora, vamos a profundizar en escenarios en los que necesitamos evaluar múltiples condiciones.

Un enfoque es utilizar sentencias if anidadas, como se muestra en el ejemplo:

Ejemplo 1:

123456
is_adult = True has_license = True if is_adult: if has_license: print("You can drive car")
copy

Sin embargo, basarse en gran medida en condiciones if anidadas no se considera la mejor práctica. Un desarrollador experimentado preferiría utilizar operadores lógicos en lugar de condiciones anidadas.

Ejemplo 2:

12345
is_adult = True has_license = True if is_adult and has_license: print("You can drive car")
copy

El lenguaje Python tiene 3 operadores lógicos:

  1. and - condición_1 y condición_2 - funciona sólo si ambas condiciones son True.
  2. or - condición_1 o condición_2 - funciona si al menos una de las dos condiciones especificadas es True.
  3. not - not condición se aplica a una condición (no a dos como arriba) e invierte su valor.

En la sintaxis de Python, cada valor "vacío" es equivalente a False, y cualquier valor "no vacío" es equivalente a True.

Ejemplo 3:

Continuemos examinando las sentencias condicionales con múltiples condiciones. Imagina que te has examinado de tres asignaturas y has obtenido los siguientes resultados: math_exam = 95, english_exam = 90, programming_exam = 100. Has decidido solicitar plaza en tres universidades diferentes, cada una con sus propios requisitos de admisión. Analicemos estos requisitos.

Para acceder a la primera universidad, debes tener una nota igual o superior a 90 en las tres asignaturas simultáneamente. Veamos si cumples los requisitos de esta universidad.

12345678
# Your scores math_exam = 95 english_exam = 90 programming_exam = 100 # Checking whether you will pass to the first university if math_exam >= 90 and english_exam >= 90 and programming_exam >= 90: print('Congratulations! You are enrolled in our university')
copy

Como podemos ver, tus puntuaciones de todos los exámenes son mayores o iguales a 90, por lo que nuestra sentencia if ha funcionado.

A continuación pasamos a la siguiente universidad. Aquí la condición es diferente, ya que esta es la mejor universidad de tu ciudad, tus puntuaciones deben ser mayores o iguales a 95.

12345678
# Your scores math_exam = 95 english_exam = 90 programming_exam = 100 # Checking whether you will pass to the second university if math_exam >= 95 and english_exam >= 95 and programming_exam >= 95: print('Congratulations! You are enrolled in our university')
copy

Como vemos nuestra condición no se cumple, ya que tenemos dos objetos que satisfacen la condición, pero el tercer objeto, es decir english_exam = 90, es menor que 95. Por lo tanto, no obtenemos nada como resultado, y nuestra sentencia if no se ejecuta.

Pasamos a la siguiente universidad. Aquí la condición es bastante simple. Para aprobar aquí, necesitas tener al menos una asignatura que haya superado 100 puntos.

Es obvio que para este caso necesitamos utilizar el operador o.

12345678
# Your scores math_exam = 95 english_exam = 90 programming_exam = 100 # Checking whether you will pass to the third university if math_exam == 100 or english_exam == 100 or programming_exam == 100: print('Congratulations! You are enrolled in our university')
copy

Como podemos ver, todavía tenemos un sujeto con una puntuación de 100. Es importante tener en cuenta que para el operador or, es suficiente con que una sola condición sea True.

Conviene recordar que si ninguna de las condiciones es True, la sentencia if no se ejecutará y no cumpliremos los criterios.

Ahora, ¡a practicar!

12345678
# Your scores math_exam = 95 english_exam = 90 programming_exam = 100 # Checking whether you will pass to the third university if math_exam == 100 or english_exam == 100 or programming_exam == 100: print('Congratulations! You are enrolled in our university')
copy

Como podemos ver, todavía tenemos un sujeto con una puntuación de 100. Es importante tener en cuenta que para el operador or, es suficiente con que solo una condición sea True.

Vale la pena recordar que si ninguna de las condiciones es True, la instrucción if no se ejecutará, y no se cumplirán los criterios.

¡Ahora es el momento de practicar!

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 5
some-alt