def solicitar_numero_estudiantes():
while True:
entrada = input("Ingrese el número de estudiantes: ")
if [Link](): # Verifica si la entrada es un número entero
positivo
num_estudiantes = int(entrada)
if num_estudiantes > 0:
return num_estudiantes
else:
print("El número de estudiantes debe ser mayor que 0.")
else:
print("Por favor, ingrese un número entero válido.")
def solicitar_calificaciones(num_estudiantes):
calificaciones = []
for i in range(num_estudiantes):
while True:
entrada = input(f"Ingrese el número de calificaciones para el
estudiante {i + 1}: ")
if [Link](): # Verifica si la entrada es un número entero
positivo
num_calificaciones = int(entrada)
if num_calificaciones > 0:
calif = []
for j in range(num_calificaciones):
while True:
entrada_calificacion = input(f"Ingrese la calificación
{j + 1} para el estudiante {i + 1}: ")
if entrada_calificacion.replace('.', '', 1).isdigit()
and (entrada_calificacion.count('.') <= 1): # Verifica si la entrada es un número
flotante válido
calificacion = float(entrada_calificacion)
if 0 <= calificacion <= 10:
[Link](calificacion)
break
else:
print("La calificación debe estar entre 0 y
10.")
else:
print("Por favor, ingrese un número válido.")
[Link](calif)
break
else:
print("El número de calificaciones debe ser mayor que 0.")
else:
print("Por favor, ingrese un número entero válido.")
return calificaciones
def calcular_promedio(calificaciones):
return sum(calificaciones) / len(calificaciones)
def main():
num_estudiantes = solicitar_numero_estudiantes()
calificaciones = solicitar_calificaciones(num_estudiantes)
promedio_general = 0
print("\nPromedios de calificaciones por estudiante:")
for i in range(num_estudiantes):
promedio_estudiante = calcular_promedio(calificaciones[i])
promedio_general += promedio_estudiante
print(f"Estudiante {i + 1}: Promedio = {promedio_estudiante:.2f}")
promedio_general /= num_estudiantes
print(f"\nPromedio general de todas las calificaciones:
{promedio_general:.2f}")
if __name__ == "__main__":
main()def solicitar_numero_estudiantes():
while True:
entrada = input("Ingrese el número de estudiantes: ")
if [Link](): # Verifica si la entrada es un número entero
positivo
num_estudiantes = int(entrada)
if num_estudiantes > 0:
return num_estudiantes
else:
print("El número de estudiantes debe ser mayor que 0.")
else:
print("Por favor, ingrese un número entero válido.")
def solicitar_calificaciones(num_estudiantes):
calificaciones = []
for i in range(num_estudiantes):
while True:
entrada = input(f"Ingrese el número de calificaciones para el
estudiante {i + 1}: ")
if [Link](): # Verifica si la entrada es un número entero
positivo
num_calificaciones = int(entrada)
if num_calificaciones > 0:
calif = []
for j in range(num_calificaciones):
while True:
entrada_calificacion = input(f"Ingrese la calificación
{j + 1} para el estudiante {i + 1}: ")
if entrada_calificacion.replace('.', '', 1).isdigit()
and (entrada_calificacion.count('.') <= 1): # Verifica si la entrada es un número
flotante válido
calificacion = float(entrada_calificacion)
if 0 <= calificacion <= 10:
[Link](calificacion)
break
else:
print("La calificación debe estar entre 0 y
10.")
else:
print("Por favor, ingrese un número válido.")
[Link](calif)
break
else:
print("El número de calificaciones debe ser mayor que 0.")
else:
print("Por favor, ingrese un número entero válido.")
return calificaciones
def calcular_promedio(calificaciones):
return sum(calificaciones) / len(calificaciones)
def main():
num_estudiantes = solicitar_numero_estudiantes()
calificaciones = solicitar_calificaciones(num_estudiantes)
promedio_general = 0
print("\nPromedios de calificaciones por estudiante:")
for i in range(num_estudiantes):
promedio_estudiante = calcular_promedio(calificaciones[i])
promedio_general += promedio_estudiante
print(f"Estudiante {i + 1}: Promedio = {promedio_estudiante:.2f}")
promedio_general /= num_estudiantes
print(f"\nPromedio general de todas las calificaciones:
{promedio_general:.2f}")
if __name__ == "__main__":
main()