Saltearse al contenido

Condiciones

En Python, los condicionales son instrucciones que permiten ejecutar bloques de código de forma selectiva, dependiendo de si se cumplen ciertas condiciones. Estos bloques de código se pueden ejecutar si la condición es verdadera, o se pueden omitir si la condición es falsa.

Esta instrucción evalúa una condición. Si la condición es verdadera, se ejecuta el bloque de código que sigue a la instrucción if.

Esta instrucción se ejecuta si la condición de la instrucción if es falsa.

Conditions.py
edad = 25
if edad >= 18:
    print('Eres mayor de edad')
else:
    print('Eres menor de edad')
# Si la edad es mayor o igual a 18, se imprimirá 'Eres mayor de edad'.
# Si la edad es menor a 18, se imprimirá 'Eres menor de edad'.

Permite evaluar múltiples condiciones en secuencia. Si la condición de if es falsa, se evalúa la condición de elif. Si la condición de elif es verdadera, se ejecuta el bloque de código correspondiente.

Conditions.py
edad = 25
if edad > 18:
    print('Eres mayor de 18 años')
elif edad == 18:
    print('Tienes 18 años')
else:
    print('Eres menor de 18 años')
# Si la edad es mayor a 18, se imprimirá 'Eres mayor de 18 años'.
# Si la edad es igual a 18, se imprimirá 'Tienes 18 años'.
# Si la edad es menor a 18, se imprimirá 'Eres menor de 18 años'.

Como vimos en la sección de Operadores los Operadores lógicos sirven para combinar múltiples condiciones y obtener un resultado booleano, ya sea True o False.

Conditions.py
edad = 25
tiene_identificacion = True
if edad >= 18 and tiene_identificacion:
    print('Puedes ingresar')
else:
    print('No puedes ingresar')
# Ambas condiciones deben cumplirse. Si edad es mayor o igual a 18 **y** tiene identificación,
# se imprime 'Puedes ingresar'.
Conditions.py
es_estudiante = False
es_profesor = True
if es_estudiante or es_profesor:
    print('Tienes acceso al campus')
else:
    print('Acceso denegado')
# Basta con que una de las condiciones sea verdadera para que se imprima 'Tienes acceso al campus'.
Conditions.py
tiene_multas = False
if not tiene_multas:
    print('Puedes renovar tu licencia')
else:
    print('Debes pagar las multas primero')
# 'not' invierte el valor. Si no tiene multas, se imprime 'Puedes renovar tu licencia'.

En Python se pueden encadenar operaciones lógicas, pero hay que tener en cuenta la precedencia de los mismos. La precedencia define el orden de evaluación.

En Python: primero not, luego and, y al final or. Por lo tanto se recomienda el uso de paréntesis para agrupar las operaciones.

Conditions.py
tiene_identificacion = True
es_estudiante = True
tiene_multas = True
edad = 20
# Sin paréntesis
if not tiene_multas and edad >= 18 and tiene_identificacion or es_estudiante:
print('Puedes ingresar')
else:
print('No puedes ingresar')
# Esto devuelve 'Puedes ingresar'
# Con paréntesis
if not tiene_multas and (edad >= 18 and (tiene_identificacion or es_estudiante)):
print('Puedes ingresar')
else:
print('No puedes ingresar')
# Esto devuelve 'No puedes ingresar'

En Python, las condicionales anidadas son sentencias if dentro de otras sentencias if, elif o else. Esto permite evaluar varias condiciones de forma jerárquica, creando un flujo de ejecución más complejo basado en la combinación de condiciones.

Conditions.py
es_miembro = False
age = 15
if es_miembro:
    if age >= 15:
        print('Tienes acceso ya que eres miembro y mayor de 15')
    else:
        print('Tienes acceso pero es menor de 15')
else:
    print('No eres miembro')
# En este caso: no es miembro por lo tanto no tiene acceso, a pesar de que cumpla la condición de tener 15 años.