Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Sixtoex en 27 de Mayo 2024, 12:05

Título: EJERCICIO AVANZADO SOBRE FOR, IF Y DICCIONARIOS 2
Publicado por: Sixtoex en 27 de Mayo 2024, 12:05
Ejercicio 2: Sistema de Evaluación de Estudiantes
Crea un programa que gestione la evaluación de estudiantes. El programa debe permitir añadir estudiantes, registrar sus calificaciones y calcular su promedio.

Requisitos:

Usa un diccionario para almacenar los estudiantes, donde la clave sea el nombre del estudiante y el valor sea otro diccionario con sus calificaciones.
Usa un bucle for para calcular el promedio de las calificaciones.
Usa estructuras if para manejar las opciones del usuario.
Instrucciones:

El programa debe mostrar un menú con las siguientes opciones:
Añadir estudiante
Registrar calificación
Mostrar promedios
Salir
Si el usuario elige añadir un estudiante, debe ingresar el nombre del estudiante.
Si el usuario elige registrar una calificación, debe ingresar el nombre del estudiante, el nombre de la asignatura y la calificación.
Si el usuario elige mostrar promedios, debe mostrar todos los estudiantes con su promedio de calificaciones.

Código: [Seleccionar]
estudiantes = {}
# añadir estudiantes:


def añadir_estudiante():
    capturar_nombre = input("Dime el nombre del estudiante: ")
    estudiantes[capturar_nombre] = {}


def añadir_calaificacion():
    capturar_nombre = input(
        "Dime el nombre del estudiante  que quieres calificar: ")
    if capturar_nombre in estudiantes:
        capturar_asignatura = input(
            "Dime la asignatura: ")
        capturar_calificacion = float(input(
            "Dime la calificacion: "))
        estudiantes[capturar_nombre][capturar_asignatura] = capturar_calificacion
    else:
        print("opcion no valida")


def mostrar_promedio():
    for estudiante, calificacion in estudiantes.items():
        if calificacion:
            promedio = sum(calificacion.values()) / len(calificacion)
            print(f"{estudiante} tiene de promedio : {promedio}")
        else:
            print(f"{estudiante} no tiene  promedio")


while True:
    print("añadir estudiante (pulsa 1)")
    print("añadir calificaciones (pulsa 2)")
    print("Mostrar promedio (pulsa 3)")
    print("salir (pulsa 4)")
    opcion = input("Dime que opcion quieres?: ")

    if opcion == "1":
        añadir_estudiante()
    elif opcion == "2":
        añadir_calaificacion()
    elif opcion == "3":
        mostrar_promedio()
    elif opcion == "4":
        break
    else:
        print("pulsa una opcion valida")