Ich verstehe nicht, warum das nicht richtig zusammenfasst

7
%Vor%

Das ist mein Code und ich versuche zu verstehen, warum ich eine Out-of-Index-Traceback bekomme.

    
Edgar Aroutiounian 12.01.2013, 01:20
quelle

3 Antworten

13

Sie müssen grade[i] nicht ausführen, da Sie bereits auf die Elemente in der Liste verweisen. Sie müssen dazu lediglich ein einfaches altes i

verwenden

Dafür gibt es aber bereits eine eingebaute Funktion - sum

%Vor%     
Volatility 12.01.2013, 01:22
quelle
14

Beim Iterieren über eine Liste wird das Element in der Liste zurückgegeben, nicht der Index des Elements. Der richtige Code, wie Sie ihn geschrieben haben, würde so aussehen:

%Vor%

Natürlich können andere, die dies beantwortet haben, mit sum viel eleganter arbeiten .

Wenn Sie den Index für etwas anderes benötigen, können Sie enumerate so verwenden :

%Vor%

Oder wenn es Ihnen nichts ausmacht, das Objekt überhaupt zu erhalten

%Vor%     
Michael Mauderer 12.01.2013 01:22
quelle
6

for i in grades: iteriert über die Elemente in grades . Es wird nicht über die Indizes iteriert.

Um Ihren Code zu reparieren, verwenden Sie einfach i anstelle von grades[i] .

Haben Sie keine Angst davor, print -Anweisungen zu verwenden. Sie eignen sich hervorragend zum Debuggen von Code.

    
Blender 12.01.2013 01:22
quelle

Tags und Links