Python - Lección 11: Estructura condicional **IF**

Comparadores y estructura condicional IF

¡Bien! Ahora vamos a ver qué sucede si nuestro programa debe tomar una decisión de acuerdo a una situación u otra. Primero, vamos a necesitar estudiar qué son los comparadores dentro de Python.

Los comparadores son los elementos que nos permiten evaluar la condición de un dato frente a otro dato. Estos elementos tienen una forma específica de declararse dentro del lenguaje.
Los mismos pueden ser:

if1

  • Tenemos una manera de verificar la condición entre dos datos o variables en Python, donde nos dirá True (valor booleano para “Verdadero”) o False (valor booleano para “Falso”) de acuerdo a lo planteado. También, podemos utilizar los operadores and (Y), or (O) y not (no) para realizar comparativas múltiples:
print (1 < 2)
print (1 > 2)
print ('y' == 'y' and 2==2)
print ('y' == 'y' and 3==2)
print ('y' == 'y' or 3==2)
print (not 354 > 8900) # Devuelve True si verifica que la comparativa efectivamente no se cumple

if2

if3

  • Ahora, ¿Cómo hacemos para que nuestro programa decida que hacer acorde a un resultado?
    Para tal tarea, contamos con la estructura condicional IF, la cual nos permite dividir el camino a seguir:
si (condición es verdadera):
	Haz esto.
si no:
	Haz esto otro.
  • Para llevarlo a código, lo haremos de la siguiente manera:
año = 2019

if (año >= 2023):
	print ('Vehículo nuevo.')
else:
	print ('Vehículo seminuevo.')

if4

if5

  • Como habrán visto, el código que ejecutará la estructura condicional IF está delimitado por un espacio en blanco, conocido como indexado. Este indexado, permite especificar que todo lo que se encuentre debajo del IF en esa posición, es lo que tiene que ejecutar.
    Para volver a escribir nuestro código fuera del IF, simplemente tendremos que alinearlo de nuevo a la posicón original.
    El indexado es la manera clave para estructurar el código y especificar qué se encuentra contenido en cada condicional.

  • En caso de querer realizar comparaciones múltiples, debemos añadir un elif entre el if y el else por cada comparación extra que deseemos realizar.

hambre = True
sed = True

if hambre and not sed:
	print ('Tenemos hambre.')
elif hambre == True and sed == True:
	print ('Tenemos hambre y sed.')
elif hambre == False and sed == True:
	print ('Tenemos sed.')
else:
	print ('No tenemos ni hambre ni sed.')

if6

if7

  • Otro ejemplo que podemos aplicar sería:
edad = int ( input ('Ingresa tu edad: '))

if (edad >= 0 and <= edad 11):
	print ('Eres un niño.')
elif (edad >=12 and edad <= 17):
	print ('Eres un adolescente.')
elif (edad >= 18 and edad <= 29):
	print ('Eres un adulto jóven.')
elif (edad >= 30 and edad <= 69):
	print ('Eres un adulto.')
else:
	('Se escapó del asilo (?).')

if8

if9

  • Algo interesante que podemos hacer con este tipo de elementos en Python, es el anidado. Podemos anidar estructuras condicionales dentro de otras estructuras condicionales y el indexado también tendrá su importante participación:
año_de_fabricacion = int (input ("Ingrese año de fabricación de su vehículo: "))

if (año_de_fabricacion >= 2000 and año_de_fabricacion > 1900):
    if (año_de_fabricacion > 2015 and año_de_fabricacion < 2022):
        print ('Vehículo semi-nuevo.')
    elif (año_de_fabricacion >= 2022):
        print ('Vehículo nuevo.')
    elif (año_de_fabricacion <= 2015 and año_de_fabricacion > 2000):
        print ('¡Todavía tiene mucho para dar!')
    else:
        print ('Año de fabricación incorrecto.')

elif (año_de_fabricacion < 2000):
    if (año_de_fabricacion >= 1990):
        print ('Casi clásico.')
    elif (año_de_fabricacion >= 1980 and año_de_fabricacion < 1990):
        print ('Debe ser un deleite para la vista.')
    elif (año_de_fabricacion >= 1960 and año_de_fabricacion < 1980):
        print ('Clásico indiscutido. Debes ser la envidia en la carretera.')
    elif (año_de_fabricacion < 1960 and año_de_fabricacion > 1900):
        print ('¡Devuélvele el auto al abuelo!')
    else:
        print ('Año de fabricación incorrecto')

else:
    print ('Año de fabricación inválido.')

if11

  • Otra de las enormes ventajas, es la posibilidad de escribir un IF dentro de print() lo que nos ahorraría varias líneas de código:
x = 50
y = True
print(x if y else "False")

if12

Gracias a la estructura condicional IF, podemos indicarle a nuestro código que camino tomar o qué decisiones ejecutar ante los posibles caminos. También es una muy buena forma de evitar errores por parte del usuario o limitar las funcionalidades para que las mismas se centren en nuestros objetivos.

<Tema anterior - Siguiente tema>

1 me gusta