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..")