DMarlon Studio

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.

Python · Decidir con if, elif y else en DMarlon Studio: el código del ejemplo y su salida en la terminal

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 runs

Salida · 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/else solo se ejecuta un bloque.
  • El orden importa: ponga primero las condiciones más estrictas.
  • Una variable bool ya 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!»).