Ya sabes crear preguntas que dan True o False. Ahora usarás esas respuestas para decidir qué bloque de código debe ejecutarse.
Recorrer una entrada por un árbol de decisiones y justificar por qué se ejecuta una sola rama.
if: ejecuta algo solo si se cumple una condición
temperatura = 7
if temperatura < 10:
print("Hace frío")
print("Programa terminado")Python evalúa temperatura < 10. Como es True, ejecuta la línea indentada. Después continúa con print("Programa terminado"), que está fuera del if.
La indentación dibuja qué pertenece a cada camino
En Python, los espacios al comienzo de una línea no son decoración. Indican qué instrucciones forman parte de un bloque.
saldo = 30
if saldo >= 20:
print("Compra permitida")
print("Procesando pago")
print("Gracias")Los dos primeros print() están dentro del if. print("Gracias") no lo está y se ejecutará tanto si la condición es verdadera como si es falsa.
if / elif / else: elige una sola ruta
temperatura = 22
if temperatura < 10:
print("Frío")
elif temperatura < 25:
print("Templado")
else:
print("Calor")Python prueba las condiciones de arriba abajo. En cuanto encuentra una verdadera, ejecuta ese bloque y no prueba los siguientes de la cadena.
¿Por qué 22 muestra «Templado»?
22 < 10 es falso. Después Python prueba 22 < 25, que es verdadero, ejecuta «Templado» y termina esa decisión.
Lee decisiones con el dedo
Si una cadena te confunde, no intentes verla entera. Elige un valor concreto y recorre las condiciones una por una: «¿esta es verdadera? no → siguiente; ¿esta? sí → entro aquí y paro».
Este método importa más que memorizar sintaxis. Te servirá para diagnosticar casi cualquier decisión corta.
Recorre un árbol de decisiones
sí → Excelente
no ↓
sí → Aprobado
no ↓
Orden importa: si preguntas primero puntuacion >= 60, una puntuación de 95 entrará allí y nunca llegará a la categoría Excelente.
Completa la cadena de tres categorías. Debe clasificar 95, 70 y 40 en una sola rama cada vez.
95 Excelente 70 Aprobado 40 Aún no
La salida aparecerá aquí.
Necesito una pista
- Python toma la primera condición verdadera.
- La condición más exigente debe comprobarse antes que la más amplia.
Ver una solución razonada
for puntuacion in [95, 70, 40]:
if puntuacion >= 90:
categoria = "Excelente"
elif puntuacion >= 60:
categoria = "Aprobado"
else:
categoria = "Aún no"
print(puntuacion, categoria)Cuando una decisión no hace lo que esperas
Comprueba en este orden: 1) qué valor tiene la variable, 2) si la comparación es la correcta, 3) si la línea está dentro del bloque que creías. Este orden evita tocar el código al azar.
ifprueba una condición.elifprueba otra opción si las anteriores fallaron.elsecubre cualquier caso restante y no lleva condición.
Si puedes seguir con el dedo qué rama toma una cadena if / elif / else para un valor concreto, estás preparado para repetir acciones.