Wie kann ich die Funktion sum () für eine Liste in Python verwenden?

8

Ich mache meine Hausaufgaben und es verlangt von mir, dass ich eine sum () und len () -Funktion verwende, um den Mittelwert einer Eingangsnummernliste zu finden, als ich sum () zu verwenden versuchte, um die Summe der Liste zu erhalten habe einen Fehler TypeError: nicht unterstützte Operandentypen für +: 'int' und 'str'. Folgendes ist mein Code:

%Vor%     
user1275189 17.03.2012, 01:38
quelle

7 Antworten

13

Das Problem besteht darin, dass Sie beim Lesen der Eingabe eine Liste mit Zeichenfolgen haben. Sie könnten so etwas wie Ihre zweite Zeile tun:

%Vor%     
Zenon 17.03.2012 01:43
quelle
9

Das Problem ist, dass Sie eine Liste von Zeichenfolgen haben. Sie müssen sie in Ganzzahlen konvertieren, bevor Sie die Summe berechnen. Zum Beispiel:

%Vor%     
Justin Ethier 17.03.2012 01:43
quelle
3

Sie addieren Zeichenketten, nicht Zahlen, was Ihre Fehlermeldung sagt.

Konvertiere jede Zeichenkette in ihre jeweilige Ganzzahl:

%Vor%

Und dann nimm den Durchschnitt (beachte, dass ich float() anders verwende als du):

%Vor%

Sie möchten float() vor dem Teilen als float(1/2) = float(0) = 0.0 verwenden, was nicht das ist, was Sie wollen.

Eine Alternative wäre, sie alle float an erster Stelle zu machen:

%Vor%     
Blender 17.03.2012 01:46
quelle
0

Split gibt Ihnen ein Array von Strings zurück, also müssen Sie diese in Ganzzahlen konvertieren, bevor Sie die Summenfunktion verwenden.

    
franka 17.03.2012 01:44
quelle
0

Sie können das versuchen.

%Vor%     
ShanmugavelSubramani 06.02.2014 16:34
quelle
0

Konvertiert die Zeichenfolgeneingabe in eine Liste von Gleitkommawerten. Hier ist der aktualisierte Code.

%Vor%     
fireblaze 18.05.2016 13:35
quelle
0

Für Python 2.7

%Vor%     
Pramodya Abeysinghe 14.04.2017 17:22
quelle

Tags und Links