s2Eva_IT2005_T4 Registrar mejores calificaciones

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# Final I Término 2005
# Tema 4.  Registrar y calcular mejores calificaciones
# propuesta: edelros@espol.edu.ec
# Se usará menú y diccionario para cada registro
# Tarea: completar opcion 4 con nota mas alta y mas baja
# Tarea: aumentar las opciones para grabar o leer un archivo
# Tarea: Se puede hacer también con listas y sin menu

lista=[]
suma=0

opcion = '0'
while not(opcion=='5'):
    print('1. Ingresar registro')
    print('2. Ingresar ponderaciones')
    print('3. Calcular calificaciones')
    print('4. Mostrar lista y extremos')
    print('5. Salir')
    opcion=input('-cual opcion: ')
    
    if (opcion=='1'):
        print('REGISTRO')
        nombre=input('nombre: ')
        leccion=int(input('leccion: '))
        proyecto=int(input('proyecto:'))
        examen=int(input('examen:'))
        estudiante={'nombre':nombre,'leccion':leccion,'proyecto':proyecto,'examen':examen,'calif':0}
        lista.append(estudiante)
        
    elif (opcion=='2'):
        print('PONDERACION')
        pondlecc=int(input('% leccion: '))
        pondproy=int(input('% proyecto:'))
        pondexam=int(input('% examen:  '))
        suma=pondlecc+pondproy+pondexam
        while not(suma==100):
            print('ponderación no suma 100')
            pondlecc=int(input('% leccion: '))
            pondproy=int(input('% proyecto:'))
            pondexam=int(input('% examen:  '))
            suma=pondlecc+pondproy+pondexam
        
    elif (opcion=='3'):
        print('CALCULAR')
        tamano=len(lista)
        if (suma==100):
            for i in range(0,tamano,1):
                prom=(lista[i]['leccion']*pondlecc+lista[i]['proyecto']*pondproy+lista[i]['examen']*pondexam)/100
                lista[i]['calif']=prom
            print('Recalculadas las notas, proceder a mostrar')
        else:
            print('** las ponderaciones no son validas **')
            print('** volver a opcion de ponderaciones **')
        
    elif (opcion=='4'):
        print('LISTA')
        tamano=len(lista)
        print('nombre, leccion, proyecto, examen, calif')
        for i in range(0,tamano,1):
            print(lista[i]['nombre']+', '+str(lista[i]['leccion'])+', '+str(lista[i]['proyecto'])+', '+str(lista[i]['examen'])+', '+str(lista[i]['calif']))
    elif (opcion=='5'):
        print('Gracias por usar el software...')
    else:
        print('** NO es una opcion disponible **')