Cálculo de Notas de un Alumno en Python: Funciones, Menú y Promedio del Curso

Enviado por Chuletator online y clasificado en Matemáticas

Escrito el en español con un tamaño de 3,51 KB

Preparando la 2da Solemne: Uso de Funciones en Python

Este programa permite calcular las notas de un alumno a partir de sus evaluaciones parciales, determinar si se encuentra eximido del examen y calcular su nota final, además del promedio del curso.

Cálculo de las notas

  • Nota de Presentación (NP): 30% Solemne 1 + 30% Solemne 2 + 20% Control + 20% Proyecto.
  • Eximición: si la NP es igual o superior a 5, el alumno queda eximido: Examen = NP y Nota Final = NP.
  • Rinde examen: si la NP es menor a 5, debe rendir examen y la Nota Final = 70% NP + 30% Examen.

Funciones requeridas

Se requiere un programa principal y las siguientes funciones:

  • Menu(): muestra las opciones del programa.
  • Notas_Parciales(): ingreso de notas parciales y cálculo de la Nota de Presentación.
  • CalculoNotaFinal(NP): determina si el alumno es eximido y calcula la Nota Final.

Código fuente

print ("\n\n\t Preparando 2da Solemne Uso de Funciones ")
print ("\n\t Cálculo de Notas de un Alumno ")
print (" \n Las notas son: Nota Presentación = 30%S1 + 30%S2 + 20%C + 20%Proy")
print ("\n\t El alumno se exime con NotaP >= 5 ==> Examen = NotaP, NotaFinal = NotaP")
print ("\n\t Rinde Examen si NotaP < 5 ==> NotaFinal = 70% NotaP + 30% Examen")
print ("\n\n   Se Requiere Programa Principal y las siguientes funciones: ")
print ("\n   Menú, Ingreso Notas Parciales, Cálculo de Nota Final")

# Variables

def Menu():
    opc = 0
    print ("\n\t Cálculo de Notas de un Alumno ")
    print (" \n\t 1.- Notas Parciales ")
    print ("\n\t 2.- Determinar Eximido, Examen, Cálculo NotaFinal") 
    print ("\n\t 3.- Salir ")
    opc = int(input("\n   Ingrese Opción : "))
    return (opc)


def Notas_Parciales():
    S1 = 0
    S2 = 0
    C = 0
    Proy = 0
    NP = 0

    S1 = float(input("\n   Ingrese Solemne 1: "))
    S2 = float(input("\n   Ingrese Solemne 2: "))
    C = float(input("\n   Ingrese Control: "))
    Proy = float(input("\n   Ingrese Proyecto: "))

    NP = S1*0.3 + S2*0.3 + C*0.2 + Proy*0.2
    NotasParciales = (S1, S2, C, Proy, NP)
    return (NotasParciales)

def CalculoNotaFinal(NP):
    Examen = 0.0
    NF = 0.0
    if (NP >= 5):
        Examen = NP
        NF = NP
    else:
        Examen = float(input("\n   Ingrese Examen: "))
        NF = 0.7*NP + 0.3*Examen

    NotasFinales = (Examen, NF)
    return (NotasFinales)

# Programa Principal
N1 = 0
N2 = 0
Control = 0
P = 0
NP = 0.0
Examen = 0.0
NF = 0.0
ListaCurso = []
op = 0
op = Menu()
while (op != 3):

    if (op == 1):
        NParciales = Notas_Parciales()
        N1, N2, Control, P, NP = NParciales
    if (op == 2):
        NotasFinales = CalculoNotaFinal(NP)  # asigna la tupla que retorna la función
        Examen, NF = NotasFinales            # desempaquetando la tupla
        if (NF >= 4):
            print ("\n   El alumno está aprobado con nota : ", NF)
        else:
            print ("\n   El alumno está reprobado con nota : ", NF)
        notas = (N1, N2, Control, P, NP, Examen, NF)
        ListaCurso.append(notas)
    op = Menu()

print ("\n\n  Lista Curso :", ListaCurso)

cont = 0
suma = 0
prom = 0
for n1, n2, c, p, ex, np, nf in ListaCurso:
    cont = cont + 1
    suma = suma + nf
prom = suma / cont

print ("\n\n   El promedio del curso es: ", prom, "... Fin Proceso..")

Entradas relacionadas: