Curso
if…elif…else son sentencias condicionales utilizadas en Python que te ayudan a ejecutar automáticamente diferentes códigos en función de una condición concreta. Este tutorial explica cada instrucción de esta construcción de Python, junto con ejemplos.
Para ejecutar fácilmente todo el código de ejemplo de este tutorial, puedes crear un cuaderno de trabajo de DataLab de forma gratuita que tiene Python preinstalado y contiene todos los ejemplos de código. Para practicar más con las sentencias if, echa un vistazo a este ejercicio práctico de DataCamp.…elif…else
Aprende Python desde cero
si condición
La condición if se considera la más sencilla de las tres y toma una decisión en función de si la condición es verdadera o falsa. Si la condición es verdadera, imprime la expresión sangrada. Si la condición es falsa, se omite la impresión de la expresión sangrada.
if condition:
expression
Ejemplo de if
Supongamos que tienes una variable z, igual a 4. Si el valor es 'par', se imprimirá z es 'par'. Utilizarás el operador módulo 2, que devolverá 0 si z es 'par'. Tan pronto como ejecutes el siguiente código, Python comprobará si se cumple la condición. Si es True, se ejecutará el código correspondiente.
z = 4
if z % 2 == 0: # True
print("z is even")
# z is even
Ejemplo de varias líneas dentro de una instrucción if
Es perfectamente válido tener más líneas dentro de la instrucción if, como se muestra en el ejemplo siguiente. El script devolverá dos líneas cuando lo ejecutes. Si no se cumple la condición, la expresión no se ejecuta.
z = 4
if z % 2 == 0:
print("checking " + str(z))
print("z is even")
# checking 4
# z is even
Ejemplo de una instrucción if falsa
Cambiemos el valor de z para que sea impar. Observarás que el código no imprimirá nada, ya que la condición no se cumplirá, es decir, será False.
z = 5
if z % 2 == 0: # False
print("checking " + str(z))
print("z is even")
# no output expected
condición if-else
La condición if-else añade un paso adicional al proceso de toma de decisiones en comparación con la simple instrucción if. El comienzo de una instrucción if-else funciona de manera similar a una simple instrucción if; sin embargo, si la condición es falsa, en lugar de no imprimir nada, se imprimirá la expresión sangrada bajo else.
if condition:
expression
else:
expression
Ejemplo de if-else
Continuando con nuestro ejemplo anterior, ¿qué pasaría si quisieras imprimir «z es impar» cuando la condición if es falsa? En este caso, simplemente puedes añadir otra condición, que es la condición else. Si lo ejecutas con un z e igual a 5, la condición no es verdadera, por lo que se imprime la expresión de la instrucción else.
z = 5
if z % 2 == 0:
print("z is even")
else:
print("z is odd")
# z is odd
condición if-elif-else
La más compleja de estas afecciones es la afección denominada if-elif-else. Cuando te encuentres con una situación en la que haya varias condiciones, puedes colocar tantas condiciones elif como sea necesario entre la condición if y la condición else.
if condition:
expression
elif condition:
expression
else:
expression
Ejemplo uno de la condición if-elif-else
A continuación se muestra un ejemplo en el que deseas impresiones diferentes para los números divisibles por 2 y 3.
Aquí, dado que z es igual a 3, la primera condición es falsa, por lo que pasa a la siguiente condición. La siguiente condición es verdadera. Por lo tanto, se ejecuta la instrucción de impresión correspondiente.
z = 3
if z % 2 == 0:
print("z is divisible by 2")
elif z % 3 == 0:
print("z is divisible by 3")
else:
print("z is neither divisible by 2 nor by 3")
# z is divisible by 3
Ejemplo dos de la condición if-elif-else
En el ejemplo siguiente, se definen dos variables: room y area. A continuación, construyes las condiciones if-elif-else y if-else para room y area, respectivamente.
En la primera condición, compruebas if (estás mirando en la cocina), elif (estás mirando en el dormitorio) y else (estás mirando en otro sitio). En función del valor de la variable room, se ejecuta la condición cumplida.
Del mismo modo, para la variable area, escribes una condición if y else y compruebas si area es mayor que 15 o no.
# Define variables
room = "bed"
area = 14.0
# if-elif-else construct for room
if room == "kit":
print("Looking around in the kitchen.")
elif room == "bed":
print("Looking around in the bedroom.")
else:
print("Looking around elsewhere.")
# if-elif-else construct for area
if area > 15:
print("Big place!")
else:
print("Pretty small.")
# Looking around in the bedroom.
# Pretty small.
Para obtener más información sobre las sentencias elif en Python, consulta este vídeo de nuestro curso Python intermedio.
Este contenido está extraído del curso Python intermedio de DataCamp, impartido por Hugo Bowne-Anderson.