2016-08-30 4 views
0

Ich versuche, diese Frage für diesen Online-Coding-Kurs, an dem ich Teil bin, zu tun, und eine der Fragen erfordert, dass ich ganze Zahlen in einer Liste zusammenfasse. Ich habe versucht, die Antwort zu finden (und ein paar andere Seiten auf dieser Seite besucht), aber mir fällt nichts ein. Hilfe bitte!Summing List Elements

Hier ist mein Code so weit:

total = 0 
att = input("RSVPs: ") 
att = att.split(",") 
for i in att: 
    print(sum(iatt) for i in att) 

enter image description here

Antwort

6

Ihr Fehler verursacht wird, weil Sie Summe mit einem ganzzahligen Wert (iatt = int(i)) zur Verfügung stellen, wenn Sie sollen es mit dem Inhalt der Liste liefern, die ist auf ',' aufgeteilt.

Sie haben ein paar Optionen dafür. Entweder ein Verständnis zu sum bieten und jedes Element zu einem int innerhalb des Verstehens Stimmen:

print(sum(int(i) for i in att)) 

oder verwenden Sie einen eingebauten, wie map die so ziemlich macht das Gleiche:

print(sum(map(int,att))) 

in beide Fälle, sum erwartet etwas, das durchlaufen werden kann und es behandelt die Summierung.

Natürlich könnten Sie manuell eine Schleife über den Inhalt der att, das Hinzufügen int(i) zu total as you go:

for i in att: 
    total += int(i) 
print(total)  
+0

'Summe (int (i) für i in att)' würden die meisten ‚Pythonic in Betracht gezogen werden ". – nekomatic

Verwandte Themen