Python: Teilsumme von Zahlen [duplizieren]

7

können Sie mir mit Code helfen, der Teilsumme von Zahlen in Textdatei zurückgibt? Ich muss Textdatei importieren, dann einen Code für Teilsummen ohne Werkzeuge machen ..etc.

Meine Eingabe:

%Vor%

Die Ausgabe sollte (ohne Klammern oder Kommas) sein:

%Vor%

Ich habe versucht, Code in Python zu machen, konnte aber nur die Summe und nicht die Teilsumme machen. Wenn ich den Operator += für den Generator verwende, gibt es einen Fehler!

    
user1798558 04.11.2012, 19:13
quelle

7 Antworten

13

Nun, da jeder sein Lieblings-Idiom für die Lösung des Problems zu geben scheint, wie wäre es mit iertools .akkumulieren in Python 3:

%Vor%     
DSM 04.11.2012 19:23
quelle
12

Es gibt eine Reihe von Möglichkeiten, Ihre Sequenz von Teilsummen zu erstellen. Ich denke, am elegantesten ist es, einen Generator zu verwenden.

%Vor%

Sie können es so ausführen:

%Vor%

Bearbeiten Um die Datenwerte aus Ihrer Datei zu lesen, können Sie einen anderen Generator verwenden und diese miteinander verketten. So würde ich es machen:

%Vor%     
Blckknght 04.11.2012 19:20
quelle
3

numpy.cumsum wird tun, was Sie wollen.

Wenn Sie numpy nicht verwenden, können Sie Ihre eigenen schreiben.

%Vor%     
katrielalex 04.11.2012 19:17
quelle
2

etwas wie das:

%Vor%     
Ashwini Chaudhary 04.11.2012 19:16
quelle
2

versuche das:

%Vor%     
arc46 04.11.2012 19:23
quelle
1

Verwenden Sie kumulative Summe in numpy:

%Vor%

Ergebnis:

%Vor%

Wenn Sie eine Liste benötigen, können Sie die Ausgabe in eine Liste konvertieren:

%Vor%     
ojy 31.07.2014 20:53
quelle
0

Dies ist eine alternative Lösung mit reduzieren :

%Vor%

Pluspunkte in Lambda sind nicht derselbe Operator, der erste ist Listenverkettung und der zweite ist die Summe zweier Ganzzahlen. Obwohl Blckknghts klarer ist, ist dieser kürzer und funktioniert in Python 2.7.

    
Slaven Glumac 31.07.2014 20:40
quelle

Tags und Links