16. Ejercicios Resueltos

Ejercicio 1:

Se necesita un pequeño programa que permita convertir un determinado monto de “pesos” en alguna moneda disponible.Las monedas disponibles estarán almacenadas en un diccionario, así como la relación de conversión correspondiente. Se solicitará al usuario el monto a convertir, y la moneda final. Antes de esto último, se deberán mostrar las alternativas disponibles. Buscar la forma de presentar todo con estética y que resulte intuitivo, además de minimizar los errores a cometer por parte del usuario. Tomando como base lo realizado anteriormente, asociar a cada moneda su nomenclatura corta. Ejemplo: para dólares es USD.

De esta forma el resultado puede mostrarse sin conflictos en las cantidades (singular o plural). Nota: el valor de una clave en un diccionario, puede ser un tipo de dato que admita múltiples valores.


Ejercicio 2:

Se necesita un pequeño programa que permita convertir un determinado monto de “pesos” en alguna moneda disponible. Las monedas disponibles estarán almacenadas en un diccionario, así como la relación de conversión correspondiente. Se solicitará al usuario el monto a convertir, y la moneda final. Antes de esto último, se deberán mostrar las alternativas disponibles. Buscar la forma de presentar todo con estética y que resulte intuitivo, además de minimizar los errores a cometer por parte del usuario.


Ejercicio 3:

Realizar un programa que permita la carga de datos de estudiantes.
Los datos a cargar son:
    Nombre Completo → Tipo de Dato?
    Nota 1 → Tipo de Dato? Rango?
    Nota 2 → Tipo de Dato? Rango?

Se debe mostrar el siguiente Menu:
    1- Carga de estudiante
    2- Mostrar la cantidad de estudiantes cargados
    3- Mostrar el promedio de cada estudiante
    S- Salir

Si ingresa 1: Se deberá cargar un DICCIONARIO que contenga como CLAVE el nombre
completo del estudiante EN MAYUSCULAS, y como valor, una lista que contenga sus
dos notas de evaluaciones. Se debera cargar un estudiante por vez, es decir,
luego de cada carga se debera mostrar el menu nuevamente.
Si ya se cargo el estudiante, mostrar un cartel ESTUDIANTE YA CARGADO

Si ingresa 2: Mostrará por pantalla la cantidad de estudiantes cargados.

Si ingresa 3: Listar los estudiantes con sus promedios.

Para salir debe ingresar S o s

Se debe verificar que el ingreso de las opciones SI O SI sea uno de los valores
posibles
"""
estudiantes={}
suma=0
while True:
    print("Menu:")
    print("1- Carga de estudiante")
    print("2- Mostrar la cantidad de estudiantes cargados")
    print("3- Mostrar el promedio de cada estudiante")
    print("S- Salir")
    op=input()
    
    while op!='1' and op!='2' and op!='3' and op.upper()!='S':
        print("Error, reingrese la opcion...")
        print("1- Carga de estudiante")
        print("2- Mostrar la cantidad de estudiantes cargados")
        print("3- Mostrar el promedio de cada estudiante")
        print("S- Salir")
        op=input()
    
    
    if op=='1':
        try:
            a=input("Ingrese el nombre completo: ")
            if a.upper() in estudiantes:
                raise Exception
            b=float(input("Ingrese la nota 1: "))
            c=float(input("Ingrese la nota 2: "))
            notas=[b,c]
            estudiantes[a.upper()]=notas
        except ValueError:
            print("Error, dato incorrecto")
        except Exception:
            print("ESTUDIANTE YA CARGADO")

    
    elif op=='2':
        print("La cantidad de estudiantes cargados es de: {}".format(len(estudiantes)))    
    
    elif op=='3':
        for i in estudiantes:
            suma=0
            for j in estudiantes[i]:
                suma=suma+j
            print("El promedio de {} es {}".format(i,suma/2))
            
    
    elif op.upper()=='S':
        print("Finalizando...")
        break
    
Ejercicio 4:


Mostar el tipo de dato de cada clave del Diccionario :{1:"Hola","2":True,"Lista":["a","b","c"],"D":{"a":1,"b":2}}.
En este ejercicio vamos a usar la función isinstance().
Esta función tiene 2 argumentos y regresa True o False. Si el primer argumento es del mismo tipo que el segundo argumento pasado como tipo ( list, dict, str, int, float, bool) regesa True, caso contrario regresa False.