Sto cercando di fare una funzione che stampa la varianza di una lista di numeri definiti:Python: varianza di una lista di numeri definiti
grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]
Finora, ho cercato di procedere a fare queste tre funzioni:
def grades_sum(my_list):
total = 0
for grade in my_list:
total += grade
return total
def grades_average(my_list):
sum_of_grades = grades_sum(my_list)
average = sum_of_grades/len(my_list)
return average
def grades_variance(my_list, average):
variance = 0
for i in my_list:
variance += (average - my_list[i]) ** 2
return variance/len(my_list)
Quando provo ad eseguire il codice, tuttavia, mi dà il seguente errore al seguente riga:
Line: variance += (average - my_list[i]) ** 2
Error: list index out of range
Mi scuso se le mie attuali conoscenze di Python sono limitate, ma sto ancora imparando - quindi per favore se vuoi aiutare a risolvere questo problema cerca di non suggerire modi estremamente complicati su come risolvere questo problema, grazie mille.
Proprio come una nota, [ 'sum()'] (http://docs.python.org/3.3/library/functions.html#sum) è una funzione built-in che esiste già - senza necessità di reinventare la ruota. 'sum (gradi)' farà. –
Questo è corretto. – GiamPy