{ifs anidado}

Programación - Ingeniería Geología

Contenidos

Sentencia if

# PRESENTING CODE

Mecanismo que le permita hacer algo si se cumple una condición, y no hacerlo si no se cumple.

if true_or_not:
    do_this_if_true

En la vida real, a menudo expresamos un deseo:

si el clima es bueno, saldremos a caminar

después, almorzaremos

Sentencia if

if el_tiempo_es_bueno:
    pasear()
almorzar()
# PRESENTING CODE

Como puedes ver, almorzar no es una actividad condicional y no depende del clima.

Sentencia if-else

if el_tiempo_es_bueno:
    pasear()
else:
    ir_al_cine()
almorzar()
# PRESENTING CODE

Comenzamos con una frase simple que decía: Si el clima es bueno, saldremos a caminar.

Podemos decir, por ejemplo: Si el clima es bueno, saldremos a caminar, de lo contrario, iremos al cine.

Ahora sabemos lo que haremos si se cumplen las condiciones, y sabemos lo que haremos si no todo sale como queremos. En otras palabras, tenemos un "Plan B". 

Sentencia if-else anidados

# PRESENTING CODE

Considera el caso donde la instrucción colocada después del if  es otro if.

Lee lo que hemos planeado para este Domingo. Si hay buen clima, saldremos a caminar. Si encontramos un buen restaurante, almorzaremos allí. De lo contrario, vamos a comer un sandwich. Si hay mal clima, iremos al cine. Si no hay boletos, iremos de compras al centro comercial más cercano.

Sentencia if-else anidados

# PRESENTING CODE

Considera cuidadosamente el código siguiente:

if el_tiempo_es_bueno:
    if existe_buen_restaurante:
        almorzar()
    else:
        comer_un_sandwich()
else:
    if entradas_disponibles:
        ir_al_cine()
    else:
        ir_de_compras()

Sentencia elif

# PRESENTING CODE

El segundo caso especial presenta otra nueva palabra clave de Python: elif. Como probablemente sospechas, es una forma más corta de else if.

elif se usa para verificar más de una condición, y para detener cuando se encuentra la primera sentencia verdadera.

Nuestro siguiente ejemplo se parece a la anidación, pero las similitudes son muy leves. Nuevamente, cambiaremos nuestros planes y los expresaremos de la siguiente manera: si hay buen clima, saldremos a caminar, de lo contrario, si obtenemos entradas, iremos al cine, de lo contrario, si hay mesas libres en el restaurante, vamos a almorzar; si todo falla, regresaremos a casa y jugaremos ajedrez.

Sentencia elif

# PRESENTING CODE

El mismo escenario empleando Python

if el_tiempo_es_bueno:
    salir_a_caminar()
elif existe_entradas_disponibles:
    ir_al_cine()
elif existe_mesas_libres:
    almorzar()
else:
    jugar_ajedrez_en_casa()

El mismo escenario empleando Python

Sentencia elif

# PRESENTING CODE

Se debe prestar atención adicional a este caso:

  • No debes usar else sin un if precedente;
  • else siempre es la última rama de la cascada, independientemente de si has usado elif o no;
  • else es una parte opcional de la cascada, y puede omitirse;
  • Si hay una rama else en la cascada, solo se ejecuta una de todas las ramas;
  • Si no hay una rama else, es posible que no se ejecute ninguna de las opciones disponibles.

¿Cuál es la salida de este programa?

x = 5
if x < 15:
  if x > 8:
    print('one')
  else:
	print('two')
else:
  if x > 2:
    print('three')
# PRESENTING CODE

A. one

B. two

C. three

D. más de una de las anteriores

E. no presenta nada

¿Cuántas líneas imprime?

x = 5
if x == 8:
  print('how')
elif x > 1:
  print('now')
elif x < 20:
  print('brown')
print('cow')
# PRESENTING CODE

A. 0

B. 1

C. 2

D. 3

E. 4

# Lo siguiente también implica decisiones 
# basadas en la edad de una persona:

edad = int(input("Edad: "))

if edad < 13:
  print('Eres un niño.')
elif edad >= 13 and edad < 20:
  print('Eres un adolescente.')
elif edad >= 20 and edad < 30:
  print('Tiens veinte años')
elif edad >= 30 and edad < 40:
  print('Tienes más de 30 años')
else:
  print('Es usted un sobreviviente')
# PRESENTING CODE

Evite el código demasiado complicado

¿Cómo se podría simplificar?

# Lo siguiente también implica decisiones basadas 
# en la edad de una persona:


edad = int(input("Edad: "))

if edad < 13:
  print('Eres un niño.')
elif edad < 20:
  print('Eres un adolescente.')
elif edad < 30:
  print('Tienes veinte años')
elif edad < 40:
  print('Tienes más de 30 años')
else:
  print('Es usted un sobreviviente')
# PRESENTING CODE

Evite el código demasiado complicado

Ejemplo 1

# PRESENTING CODE

Reto 1:

# PRESENTING CODE

Escriba un program que permita calcular el valor de f(x), según la expresión:

Reto 2:

# PRESENTING CODE

El valor de y se define como sigue:

y = x^2 + 2x - 3 \quad si \quad -3\leq x \leq 2\\ y = 5x + 7 \quad si \quad 2 < x \leq 10\\ y = 0 \quad si \quad x < -3 \quad ó \quad x > 10

Escriba un programa que lea el valor de x y

determine el valor de y.

4. Condicionales 2da Parte #IngGeología AA25

By Santiago Quiñones Cuenca

4. Condicionales 2da Parte #IngGeología AA25

  • 56