2016-08-10 3 views
1

Ich habe eine Datei wie folgt aus:Wie kann ich ganze Zahlen zeilenweise bis zu einer neuen Zeile summieren und dann neu beginnen?

1 
2 
3 

5 
0 

5 
2 
3 

Was ich tun möchte, ist die ganzen Zahlen, bis die Newline zu summieren und dann wieder zu fassen beginnen, so wäre das Ergebnis:

6 

5 

10 

Was ich habe so weit ist:

import sys 

def readText(filename): 
    sum = 0 

    data = open(filename,'r') 

    for line in data.readlines(): 
     if (line[0] != '\n'): 
      sum+=int(line) 
     else: 
      sum = 0 
      continue 

    print sum 

if len(sys.argv) == 2: 
    lines = readText(sys.argv[1]) 
else: 
    print("script.py inputfile") 

Aber ich bekomme nur die Summe der letzten „Gruppe“ von ganzen Zahlen, die in diesem Beispiel 10. ich würde jede Hilfe dankbar!

Antwort

1

bewegen print (sum) vor dem sum = 0 und alles wird gut

Hinweis sein, dass die Leitung sum = 0 in der Schleife Sie von Anfang Summe macht (und Sie „vergessen“ alle bisherigen Zahlen ...)

Drucken Summe ist für Python 2 und ich benutze 3, daher der Druck (Summe) in der Druckmethode

+2

Das ist genau das, was ich wollte. Vielen Dank! – isa

Verwandte Themen