ProgramaciónPythonVLA4. Condicionales y Ciclos

Condicional Múltiples (If – Elif - Else)

El objetivo de una estructura condicional múltiple es manejar varias condiciones en secuencia. Puedes usar if, seguido de elif (else if) para evaluar múltiples condiciones en orden hasta que una de ellas sea verdadera. También puedes tener un bloque final opcional else que se ejecutará si ninguna de las condiciones anteriores es verdadera.

edad = 25

if edad < 18:
    print("Eres menor de edad")
elif 18 <= edad < 30:
    print("Eres joven")
else:
    print("Eres adulto")

En este ejemplo, el programa evalúa primero si la edad es menor de 18. Si no lo es, pasa a la siguiente condición, que verifica si la edad está entre 18 y 30. Si ninguna de las condiciones anteriores es verdadera, se ejecuta el bloque de código en el else.

Condiciones Anidadas

Las condiciones anidadas son aquellas en las que tienes declaraciones condicionales dentro de otras. Puedes anidar if, elif, y else según sea necesario.

Este tipo de consultas anidadas vienen a ser una comparación de los operadores AND. Ingresa al primer if, puede validar las demás condiciones internas.

edad = 25

if edad >= 18:
    print("Eres mayor de edad")
    if edad >= 21:
        print("Eres elegible para beber alcohol en algunos lugares")    
else:
    print("Eres menor de edad")

En este ejemplo, dentro del bloque if edad >= 18, hay otra condición if edad >= 21. Esto demuestra cómo puedes anidar condiciones para manejar casos más específicos.

Case/Switch

A partir de Python 3.10 los programadores escucharon al pueblo, crearon match-case, su implementación de case/switch.

Reemplaza if-elif-else para hacer más legible el código.

es_habil = False
dia = input("Digite el dia: ").upper()
if dia == "LUNES":
    es_habil = True
elif dia == "MARTES":
    es_habil = True
elif dia == "MIERCOLES":
    es_habil = True
elif dia == "JUEVES":
    es_habil = True
elif dia == "VIERNES":
    es_habil = True
##### TRUE / FALSE
if es_habil:
    print("Es un dia habil")
else:
    print("No es un dia habil")

La nueva implementación, además, incluye una opción al estilo de else: case _:

Case/Switch es ampliamente utilizado en la mayoría de lenguajes de alto nivel para evaluar más de dos condiciones ante una decisión.

es_habil = False
dia = input("Digite un dia y yo mismo le digo si es un dia habil: ")
dia = dia.lower()

match dia:
    case "lunes":
        es_habil = True
    case "martes":
        es_habil = True
    case "miercoles":
        es_habil = True
    case "jueves":
        es_habil = True
    case "viernes":
        es_habil = True
    case "sabado":
        es_habil = False
    case "domingo":
        es_habil = False
    case _:
        print("Ese dia no existe")
        exit()
if es_habil:
    print(dia, "es un dia habil")
else: 
    print(dia, "no es un dia habil")

Practica - Cree un programa que muestre un menú con cinco palabras a su elección, el usuario debe elegir una y se muestra en pantalla el antónimo.

print("Escoge una palabra : ")
print("1. Blanco")
print("2. Abierto")
print("3. Arriba")
print("4. Limpio")
print("5. Sol")
5
opcion = int(input("\\nSeleccione una opción: "))

match opcion:
    case 1:
        print("")
        print("El antónimo de Blanco es Negro")
    case 2:
        print("")
        print("El antónimo de Abierto es Cerrado")
    case 3:
        print("")
        print("El antónimo de Arriba es Abajo")
    case 4:
        print("")
        print("El antónimo de Limpio es Sucio")
    case 5:
        print("")
        print("El antónimo de Sol es Luna")
    case _:
        print("")
        print("Opción inválida. Por favor, seleccione un número del 1 al 5")

Reto 1 - Realice un programa que solicite al usuario ingresar la calificación numérica de un estudiante y determine la calificación correspondiente en letras

calificacion = int(input("Introduzca la calificacion del estudiante: "))

if calificacion >= 90:
    print("La calificacion es A")
elif calificacion >= 80 and calificacion <= 89:
    print("La calificacion es B")
elif calificacion >= 70 and calificacion <= 79:
    print("La calificacion es C")
elif calificacion >= 60 and calificacion <= 69:
    print("La calificacion es D")
else:
    print("La calificacion es F")

Ciclos

Cuando hablemos de ciclos (loop) siempre nos estaremos refiriendo a procesos repetitivos, no podemos olvidar, que existen dos tipos de ciclos. Los ciclos finitos e infinitos.

Podemos visualizar un ciclo infinito como el Ciclo del agua cual se va a estar repitiendo de manera indefinida, otro ejemplo es la última pregunta que nos realiza el cajero automático, ¿Desea realizar otra transacción?

Podríamos marcar la opción SÍ las veces que sean necesarias que el cajero siempre volverá a empezar el ciclo. Este ciclo en programación se conoce como Ciclo While.

Un ciclo finito es aquel que llega a tener un fin, en nuestra cotidianidad podríamos mencionar el ciclo semanal de un estudiante, de Lunes a Viernes el estudiante se levanta, se alista, desayuna, asiste a lecciones, al finalizar sus clases regresa a casa, come algo, hace tareas, cena, se prepara para dormir y se acuesta.

Como podremos analizar esta secuencia de actividades, los estudiantes la van a repetir durante 5 días continuas, y finaliza. Este ciclo en programación se conoce como Ciclo FOR.

Ciclo For

El ciclo FOR tiene tres estructuras las cuales serán mencionadas a continuación, y seguidamente realizaremos un ejercicio con cada una.

Estructuras:

  • for i in range (a)

    • El ciclo for en i se va a repetir en un rango de(a)
      • i = es la variable encargada de llevar el conteo dentro del ciclo.
      • a = representa la cantidad de veces que el ciclo se va a repetir.
    • A continuación realizaremos un programa que le solicite al usuario el nombre y que la cantidad de veces que desea que se repita su nombre en pantalla.
    import time
    
    nombre = input("Digite su nombre: ")
    a = int(input("Digite cuantas veces desea que su nombre se repita: "))
    for i in range(a):
        print(i+1, nombre)
        time.sleep(1)
    
  • for i in range (a,b)

    • El ciclo for en i se va a repetir en un rango el cual va a iniciar en a y finaliza en b-1.
    • Esto se debe que si le decimos al ciclo que se repita en un rango de (1, 10) esperaríamos que se repita 10 veces, pero esto no sucederá, por esa razón decimos b-1 porque el ciclo se detendrá un valor antes del asignado.
    • A continuación realizaremos un programa que le solicité al usuario la tabla de multiplicación que desea visualizar en pantalla. Las tablas de multiplicar darán inicio en 1 y finalizarán en el número 10
    num = int(input("Digite la tabla de multiplicacion que desea saber: "))
    
    for i in range(1,11):
        print(i, "x", num, "=", i*num)
    
  • for i in range (a,b,c)

    • El ciclo for en i se va a repetir en un rango el cual va a iniciar en a, finaliza en b-1, y llevará un conteo de c.
    • A continuación realizaremos un ejercicio que solicite al usuario ingresar tres números enteros, el inicio del rango(“a”), el final del rango(“b”) y el incremento (“c”). Luego, el programa debe imprimir todos los números pares dentro de ese rango.
    inicio = int(input("Ingresa el inicio del rango: "))
    fin = int(input("Ingresa el final del rango: "))
    incremento = int(input("Ingresa el incremento: "))
    
    print("Los numeros pares en el rango de", inicio, "a", fin, "con incremento de", incremento, "son: ")
    for i in range(inicio, fin + 1, incremento):
        if i % 2 == 0:
            print(i)
    
Ciclo While

Un ciclo while se repite mientras una condición dada sea verdadera. El bloque de código dentro del ciclo se ejecutará repetidamente mientras la condición sea verdadera.

import time

ciclo = "si"
while ciclo == "si":
    time.sleep(2)
    print("")
    print("Calculadora Team")
    print("1. Suma")
    print("2. Resta")
    print("3. Multiplicacion")
    print("4. Division")
    print("")
    seleccion = int(input("Seleccion una opcion: "))

    if seleccion == 1:
        print("")
        numero1 = int(input("Digite el primer valor de la suma: "))
        numero2 = int(input("Digite el segundo valor de la suma: "))
        suma = numero1 + numero2
        print("")
        print("El resultado de la suma es: ", suma)
        print("")
        ciclo = input("Desea realizar otra operacion si / no: ")
    elif seleccion == 2:
        print("")
        numero1 = int(input("Digite el primer valor de la resta: "))
        numero2 = int(input("Digite el segundo valor de la resta: "))
        resta = numero1 - numero2
        print("")
        print("El resultado de la resta es: ", resta)
        print("")
        ciclo = input("Desea realizar otra operacion si / no: ")
    elif seleccion == 3:
        print("")
        numero1 = int(input("Digite el primer valor de la multiplicacion: "))
        numero2 = int(input("Digite el segundo valor de la multiplicacion: "))
        multiplicacion = numero1 * numero2
        print("")
        print("El resultado de la multiplicacion es: ", multiplicacion)
        print("")
        ciclo = input("Desea realizar otra operacion si / no: ")
    elif seleccion == 4:
        print("")
        numero1 = int(input("Digite el primer valor de la division: "))
        numero2 = int(input("Digite el segundo valor de la division: "))
        division = numero1 * numero2
        print("")
        print("El resultado de la division es: ", division)
        print("")
        ciclo = input("Desea realizar otra operacion si / no: ")
    else:
        print("")
        print("Opción inválida. Por favor, elige una opción válida.")
Built with LogoFlowershow