Estadísticas del examen, ¿alguien consiguió pasar la última parte?


#1

No puedo pasar la última pantalla después de haber realizado todos los ejercicios con éxito. Creo que el problema está en la plataforma pero no estoy segura. el error que me da está en la función varianza_notas, pero cuando la diseñé no me dio ningún error.Este es mi código:
notas = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]

def print_calificaciones(calificaciones):
for calificacion in calificaciones:
print (calificacion)
print print_calificaciones(notas)

def notas_sum(calificaciones):
total = 0
for calificacion in calificaciones:
total += calificacion
return total
print notas_sum(notas)

def promedio_notas(calificaciones):
suma = notas_sum(calificaciones)
promedio = suma / float(len(calificaciones))
return promedio
print promedio_notas(notas)

def varianza_notas(calificaciones):
promedio=promedio_notas(calificaciones)
varianza=0
for calificacion in calificaciones:
varianza=varianza+(promedio-calificacion)**2
tota=varianza/float(notas_sum(calificaciones))
return tota
print varianza_notas(notas)

def calificaciones_std_desviacion(varianza):
return varianza**0.5

varianza=varianza_notas(notas)

print (calificaciones_std_desviacion(varianza))


#2

Write in english lanuage.


#3

def print_calificaciones(calificaciones):
for nota in calificaciones:
print nota

def calificaciones_sum(calificaciones):
total = 0
for nota in calificaciones:
total += nota
return total

def promedio_notas(calificaciones):
sum_of_calificaciones = calificaciones_sum(calificaciones)
promedio = float(sum_of_calificaciones) / len(calificaciones)
return promedio

def varianza_notas(calificaciones):
promedio=calificaciones_promedio(calificaciones)
varianza=0
for i in calificaciones:
varianza+=(promedio-i)**2
final_varianza=varianza/len(calificaciones)
return final_varianza

def calificaciones_std_desviacion(varianza):
std_des=varianza**(0.5)
return std_des

varianza=calificaciones_varianza(calificaciones)

Impresion en pantalla

print calificaciones
print_calificaciones(calificaciones)
print calificaciones_sum(calificaciones)
print calificaciones_promedio(calificaciones)
print calificaciones_varianza(calificaciones)
print calificaciones_std_desviacion(varianza)


#4

Hola, yo tengo un problema similar en varianza_notas. Pudiste resolverlo ?


#5

Pues la verdad es que no. He dejado este ejercicio sin resolver y he pasado al siguiente curso.
Para intentar resolverlo incluso he copiado las soluciones de otros pero no hubo manera


#6

Hola a todos. Menuda sorpresa me he llevado cuando he reducido la lista de notas a 2 elementos. Con eso me ha permitido terminar el ejercicio. Espero que esto os ayude a continuar con todos los ejercicios. Si alguno lo necesita, le mandaré el ejercicio tal y como ha sido dado por válido.


#7

Hola!, ami tambien me paso y resulto ser que la formula que te indicas que hagas en el calculo de la varianza y te aceptan como buena esta errada la formula correcta es diviendo la suma de las difefrencias al cuadrado entre el numero total de datos, aca te dejo la formula corregida, espero que te sirva Saludos.

def varianza_notas(calificaciones):
varianza = 0
promedio = promedio_notas(calificaciones)
for calificacion in calificaciones:
varianza = varianza + ((promedio - calificacion) ** 2) # calcula que tan lejos del promedio quedo cada nota en valor absoluto
total = varianza / len(calificaciones) # este es el calculo de la varianza


#8

aqui esta el error, si bien eso te dicen que hagas en el curso, la formula del calculo de la varianza esta errada alli debe ir el numero total de datos en tu caso len(calificaciones)
espero que te sirva Saludos.


#9

Por fin he conseguido pasar este ejercicio con la ayuda de germanbqto.

Dejo el código aquí por si a alguien le viene bien:

notas = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]

def print_calificaciones(calificaciones):
    for calificacion in calificaciones:
        print calificacion

def notas_sum(calificaciones):
    total = 0 
    for calificacion in calificaciones: 
        total = total + calificacion
    return total

def promedio_notas(calificaciones):
    suma = notas_sum(calificaciones)
    promedio = suma / float(len(calificaciones))
    return promedio

def varianza_notas(calificaciones):
    promedio = promedio_notas(calificaciones)
    varianza = 0
    for calificacion in calificaciones:
        varianza = varianza + ((promedio - calificacion) ** 2 )
        result = varianza / (len(calificaciones))
    return result

varianza=varianza_notas(notas) 
def calificaciones_std_desviacion(varianza):
    result = varianza ** 0.5
    return result



print notas
print notas_sum(notas)
print promedio_notas(notas)
print varianza_notas(notas)
print calificaciones_std_desviacion(varianza)