Lección 6 · 6 de 20
Decidir con if, elif y else · Python
Haga que su programa de Python tome decisiones con if, elif y else: qué ropa ponerse según la temperatura y si el envío sale gratis.

if comprueba una condición y, si es verdadera, ejecuta el bloque que va debajo. El bloque se marca con la sangría: las líneas que empiezan con cuatro espacios tras los dos puntos : son las que dependen del if.
elif (de «else if») añade otra condición que solo se mira si las anteriores han fallado, y else recoge todo lo demás. Python las revisa de arriba abajo y ejecuta solo la primera que se cumple: con temperature = 12 falla >= 25, falla >= 15 y acierta >= 5, así que escribe «take a coat».
elif y else son opcionales. if raining: va solo: como raining es True, escribe la línea del paraguas; si fuera False, no pasaría nada.
Con if y else se elige entre dos caminos: el carrito suma 42,80 €, no llega a 50, y el programa calcula cuánto falta para el envío gratis. La última línea no tiene sangría, así que se ejecuta siempre.
Código · main.py
# The program decides what to wear from the temperature.temperature = 12if temperature >= 25: print("It is hot: wear a T-shirt.")elif temperature >= 15: print("It is mild: a light jacket will do.")elif temperature >= 5: print("It is cool: take a coat.")else: print("It is freezing: coat, scarf and gloves!")# Without elif or else: the block runs only if it is true.raining = Trueif raining: print("And take an umbrella.")# if ... else chooses between exactly two paths.basket = 42.80if basket >= 50: print("Free delivery!")else: print(f"Add {50 - basket:.2f} euros more for free delivery.")print("Have a nice day.") # not indented: it always runsSalida · python3 main.py
It is cool: take a coat. And take an umbrella. Add 7.20 euros more for free delivery. Have a nice day.
Para recordar
- Tras la condición van dos puntos
:y el bloque, con sangría. - De una cadena
if/elif/elsesolo se ejecuta un bloque. - El orden importa: ponga primero las condiciones más estrictas.
- Una variable
boolya sirve como condición:if raining:.
Ejercicio
Pruebe con temperature = 30 y con -2, y añada un caso nuevo con elif para cuando haga más de 35 grados («Stay in the shade!»).