rosquillaconchocolate@gmail.com

 avatar
turyasd
python
2 years ago
3.4 kB
4
Indexable
Never
'''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")