Saltar la navegación

if anidados

Múltiples condicionales

Podemos generar programas que contengan múltiples condicionales, por ejemplo ¿tengo ganas de salir? en caso afirmativo ¿el día está nublado? en caso afirmativo ¿me llevo impermeable?. A este tipo de estructura se le denomina if anidados, esto es uno o varios ifs dentro de otro if. 

También se denomina como cascada de ifs y pueden o no terminar con un else.

Ejemplo. Preguntar al usuario si le gustan las mascotas, en caso afirmativo preguntar si los perros o los gatos, en caso de elegir perros escribir "GUAUUU", en caso de preferir gatos escribir "MIAUUU", si no le gustan las mascotas menospreciar al usuario.

resp=input("¿Te gustan las mascotas? ")
if resp=="si":
  tipo=input("Escribe (p) si te gustan los perros o (g) si te gustan los gatos? ")
  if tipo=="p":
    print("GUAUUU")
  if tipo=="g":
    print("MIAUUU")
else:
  print("Uuuy pero que amargado...")

Para el caso de las cascadas de ifs se recomienda usar el operador elif, que es una combinación entre if y else, el cual nos permite no ejecutar los siguientes ifs debajo del primero en caso de que este se haya cumplido. 

Ejemplo. Solicitar al usuario su ingreso mensual. Si coloca cero respondemos "desempleado", si el salario es mayor que cero y menor que 10,000 indicamos "clase baja", si se encuentra entre 10,000 y menor a 50,000 colocamos clase media, si el salario es mayor que 50,000 indicamos clase alta.  

i=float(input("Dame tu ingreso mensual "))
if i==0:
  print("Desempleado")
elif 0<i<10000:
  print("clase baja")
elif 10000<=i<50000:
  print("clase media")
elif i>=50000:
  print("clase alta")
else:
  print("No puedes tener ingresos negativos tontito")

En el siguiente video podemos ver otro ejemplo de if anidado.

Creado con eXeLearning (Ventana nueva)