Contenido del Curso
Sentencias Condicionales en Python
Sentencias Condicionales en Python
Operadores 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:
is_adult = True has_license = True if is_adult: if has_license: print("You can drive car")
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:
is_adult = True has_license = True if is_adult and has_license: print("You can drive car")
El lenguaje Python tiene 3 operadores lógicos:
and
- condición_1 y condición_2 - funciona sólo si ambas condiciones sonTrue
.or
- condición_1 o condición_2 - funciona si al menos una de las dos condiciones especificadas esTrue
.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.
# 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')
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.
# 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')
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.
# 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')
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!
# 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')
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!
¡Gracias por tus comentarios!