{ifs anidado}

Programación - Ingeniería Civil

if anidado en python

if expresion_logica_A:
  instrucciones 1
else:
  if expresion_logica_B:
    instrucciones 2
  else:
    instrucciones 3
    
 instrucción siguiente
# PRESENTING CODE

El if anidado en python se forma por lo general usando if-else. El formato es:

Este es el if anidado

Usando if/else anidados (condición múltiple)

llueve = True
temperatura = int(input('Ingresa temperatura: '))
if temperatura < 18:
    if llueve == True:
        print('Llevaré paraguas y abrigo')
    else:
        print('Solo llevaré abrigo')
else:
    print('No necesito paraguas ni abrigo')
# PRESENTING CODE

¿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

¿Qué imprime esto? (¡fíjese en los cambios!)

x = 5
if x < 15:
  if x > 8:
    print('one')
  else:
	print('two')

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

¿Qué imprime esto? (¡note los nuevos cambios!)

x = 5
if x < 15:
  if x > 8:
    print('one')
else:
  print('two')

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

if anidado en python

if expresion_logica_A:
  instrucciones 1
elif expresion_logica_B:
    instrucciones 2
else:
    instrucciones 3
    
    
instrucción siguiente
# PRESENTING CODE

Una manera más común de escribir el if anidado es por medio de la contracción de else-if que es elif. Después de un elif debemos añadir una condición. El formato es el siguiente:

if expresion_logica_A:
  instrucciones 1
else:
  if expresion_logica_B:
    instrucciones 2
  else:
    instrucciones 3
    
 instrucción siguiente

Decisiones multidireccionales: Sentencia if-elif-else

if condition1:
  # true block for condition1
elif condition2:
  # true block for condition2
elif condition3:
  # true block for condition3
...
else:
  # false block
# PRESENTING CODE

Las condiciones se evalúan en orden. Se ejecuta el bloque verdadero de la primera condición verdadera.

Si ninguna de las condiciones es verdadera, se ejecuta el bloque falso.

Sintaxis

avg = 95

if avg >= 90:
  grade = 'A'
if avg >= 80:
  grade = 'B'
if avg >= 70:
  grade = 'C'
if avg >= 60:
  grade = 'D'
else:
  grade = 'F'
  
print(grade)
# PRESENTING CODE

Decisiones multidireccionales

>> 'D'

# Aquí está la versión corregida:

avg = 95

if avg >= 90:
  grade = 'A'
elif avg >= 80:
  grade = 'B'
elif avg >= 70:
  grade = 'C'
elif avg >= 60:
  grade = 'D'
else:
  grade = 'F'
  
print(grade)
# PRESENTING CODE

Decisiones multidireccionales

>> 'A'

¿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

# The following also involves decisions based on a person's age:

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

saldo = float(input("Saldo: "))

# empieza la condición
if saldo < 10_000:
  saldo = saldo * (1 + 0.03)
else:
  saldo = saldo * (1 + 0.04)
# fin del if


print("Saldo final es: ", saldo)
# PRESENTING CODE

Un banco paga intereses a los depósitos del saldo. Si el saldo es menor a $10000 se paga un interés anual de 3%, pero si es mayor a $10000 se paga un interés anual de 4%. Escriba un algoritmo que reciba el saldo, calcule el interés correspondiente y muestre el saldo de la cuenta final del primer año.

 

 

 

Ejemplo 2

saldo = float(input("Saldo: "))

# empieza la condición
if saldo < 10_000:
  saldo = saldo * (1 + 0.03)
elif saldo < 1_000_000:
  saldo = saldo * (1 + 0.04)
else:
  saldo = saldo * (1 + 0.06)
# fin del if
# 
print("Saldo final es: ", saldo)
# PRESENTING CODE

Consideremos el ejemplo anterior pero ahora supongamos que si el saldo es mayor a un millón de pesos se le paga un interés de 6%. El algoritmo, en la parte de la condición, es ahora de la siguiente manera.

Pruebas: Para un saldo inicial de $12 000, el saldo final es de $12 480 y para un saldo inicial de 2 millones el saldo final es de $2 120 000

 

 

Ejemplo 3

# PRESENTING CODE

Una calculadora básica se puede realizar con condiciones. Se desea realizar algunas de las operaciones básicas con dos números x, y. Se debe de considerar los casos donde y = 0 donde la división x/y NO se puede realizar. Se desea generar un menú para que el usuario pueda seleccionar la operación a realizar. Una manera de hacerlo es la siguiente:

1. Se recibe los dos números

2. Se recibe la operación a realizar mediante la variable opción la que selecciona en el menú qué operación ejecuta el algoritmo.

3. Mediante condiciones se realiza la operación deseada. En el caso de la división, si y = 0, NO se puede realizar la división, se muestra un mensaje y se hace error = Verdadero.

4. Se muestra el resultado.

 

 

 

Reto 1:

# 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.

Reto 2:

# PRESENTING CODE

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

Reto 3:

# PRESENTING CODE

Escriba un programa que convierta un ángulo de grados a radiantes y viceversa. Sabemos que las ecuaciones de conversión son:

Muestre un menú de opciones para que el usuario seleccione que desea realizar, en función de lo que seleccione solicite el ángulo e imprima la conversión.