Python: die Varianz einer Liste von definierten Nummern

Ich versuche, eine Funktion, druckt die Varianz einer Liste von definierten Nummern:

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

So weit, ich habe versucht, Verfahren zur Herstellung dieser drei Funktionen:

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)

Wenn ich versuche den code auszuführen, aber es gibt mir die folgende Fehlermeldung in der folgenden Zeile:

Line: variance += (average - my_list[i]) ** 2
Error: list index out of range

Entschuldige mich, wenn meine aktuelle Python-Kenntnisse sind begrenzt, aber ich Lerne immer noch - also bitte, wenn Sie möchten Hilfe bei der Lösung dieses Problems versuchen Sie, nicht zu empfehlen, sehr komplizierte Wege auf, wie dieses Problem zu lösen, ich danke Ihnen wirklich sehr.

Nur als Anmerkung, sum() ist eine eingebaute Funktion, die bereits vorhanden - keine Notwendigkeit, das Rad neu zu erfinden. sum(grades) tun.
Das ist richtig.

InformationsquelleAutor GiamPy | 2013-05-21

Schreibe einen Kommentar