rosquillaconchocolate@gmail.com
turyasd
python
4 years ago
3.4 kB
7
Indexable
'''Programa que pregunte de cuántas notas es el lapso a evaluar, que luego pida las notas de dicha
cantidad y que luego muestre el promedio y si éste es menor a 3.5 que muestre la nota o las notas más bajas
y que diga cuánto debería subirla para tener un promedio de 3.5'''
print("Bienvenido al programa para calcular promedios colegiales!")
listaNotas=[]
promedioUser=0
while True:
eleccion=int(input("Introduce el máximo de notas a evaluar: "))
if eleccion > 1:
break
else:
print("Debes introducir mínimo 2 notas")
#Establecemos las notas dentro de una lista, dependiendo del número de lapso escogido por el usuario
for i in range(eleccion):
num = float(input("Introduce la nota número {}: ".format(i+1)))
if num <= 5:
listaNotas.append(num)
else:
print("No puedes agregar una nota mayor a 5")
num = float(input("Introduce la nota número {}: ".format(i+1)))
if num <= 5:
listaNotas.append(num)
else:
print("¿Es en serio?")
#Definimos la nota menor y la devolvemos mediante un método para su posterior utilización
def notaMenor(notasList):
conteoMin = 5
for nota in notasList:
if nota < conteoMin:
conteoMin = nota
return conteoMin
notaMin = notaMenor(listaNotas)
notaMinPrint = notaMin
#Definimos la segunda nota menor, para su posterior uso
def segundaNotaMenor(notasList):
global notaMin
conteoMin = 5
for nota in notasList:
if nota < conteoMin:
if nota > notaMin:
conteoMin = nota
return conteoMin
#Establecemos el promedio base
basePromedio = 3.5 * eleccion
#Establecemos el promedio usando las notas del usuario
for nota in listaNotas:
promedioUser = promedioUser + nota
#Establecemos promedio del usuario para elaborar la condicional
promedioUserTotal = promedioUser / eleccion
#Mostramos el promedio del usuario
print("Tu promedio es de ", promedioUserTotal)
if promedioUserTotal < 3.5:
print("Dicho promedio no es suficiente para aprobar la asignatura")
else:
print("Felicidades! Con dicho promedio puedes aprobar la asignatura")
exit()
#Procedemos a comparar ambos promedios para saber cuánta nota nos falta
residuoNotas = basePromedio - promedioUser
#Comprobamos si es posible subir la nota mínima, si no es posible llamamos la segunda nota minima, si es posible seguimos sin entrar en el if
if residuoNotas > (5 - notaMin):
segundaNotaMin = segundaNotaMenor(listaNotas)
segundaNotaMinPrint = segundaNotaMin
#Dividimos los residuos de cada una de las dos notas
residuoNota1 = 5 - notaMin
residuoNotas = residuoNotas - residuoNota1
#Le sumamos el residuo a nuestra nota 1
notaMin = notaMin + residuoNota1
#Le sumamos el residuo a nuestra nota 2
segundaNotaMin = segundaNotaMin + residuoNotas
#Imprimimos en consola ambas notas y su necesario para pasar asignatura
print("Debes mejorar dos notas para poder aprobar la asignatura")
print("La primera nota a mejorar es ", notaMinPrint, " debes aumentarla a ", notaMin)
print("Tu segunda nota a mejorar es ", segundaNotaMinPrint, " debes aumentarla a ", segundaNotaMin)
print("Con eso obtendrías un promedio de 3.5")
exit()
#Le sumamos el residuo a nuestra nota mínima e imprimimos la nota
notaMin = notaMin + residuoNotas
print("Tu nota más baja fue ", notaMinPrint, " debes aumentarla a ", notaMin, " para poder tener un promedio de 3.5")Editor is loading...