2016-12-06 3 views
-5

So hat mein proffessor uns assinged eine Datei in Python zu schreiben, die diese enthält ..Python-Dateien (Write/Read)

37107287533902102798797998220837590246510135740250 
46376937677490009712648124896970078050417018260538 
74324986199524741059474233309513058123726617309629 
91942213363574161572522430563301811072406154908250 
23067588207539346171171980310421047513778063246676 
89261670696623633820136378418383684178734361726757 
28112879812849979408065481931592621691275889832738 
44274228917432520321923589422876796487670272189318 
47451445736001306439091167216856844588711603153276 
70386486105843025439939619828917593665686757934951 

Then..we haben es Zeile für Zeile zu lesen und jede Zeile Summe seprately Am Ende wird es so ähnlich sein.

37107287533902102798797998220837590246510135740250 SUM: 214 
46376937677490009712648124896970078050417018260538 SUM: 226 
..etc... 

Brauchen Sie Hilfe, dies zu lösen.

P.S Er fügte dies auch als Tipp hinzu (lines = f.readlines()) Auch, wenn möglich, versuchen Sie, mit einigen grundlegenden Python zu helfen, da wir noch Anfänger sind.

+1

was hast du bisher gemacht? zeigen Sie uns Ihren Versuch und alle Probleme – depperm

Antwort

0

Die beste Lösung ist es, jede Zeile einzulesen (mit Hilfe der Leseleitungen). Denken Sie daran, dass readlines() alle Zeilen für Sie abrufen und in einer Liste von Zeichenfolgen speichern wird.

lines = <filename>.readlines() 
# Lines now holds and array of lines read by the file 
# lines[0] = 37107287533902102798797998220837590246510135740250 
# lines[1] = 46376937677490009712648124896970078050417018260538 

Jetzt, wo Sie Ihre Zeilen Zahlen hinzuzufügen, in der Linie durch jedes Zeichen zu gehen, werfen sie auch eine Zahl und eine laufende Summe haben.

# Go through each line 
for line in lines: 
    total = 0 
    # Go through each letter of that line (i.e. 3 then 7 then 1....) 
    for letter in line: 
      # Cast that letter to a number and add it to the total 
      total += int(letter) 
    # Append to the end of your line 
    line += " SUM " + str(total) 

Mit Python ist es wirklich einfach, dies in nur wenigen Zeilen zu erreichen. Ich überlasse die Eröffnung der Datei an Sie!

+0

Wenn es um "nur ein paar Zeilen" geht, werde ich vorschlagen: 'sum (map (int, line))' – Matthias