2017-12-15 10 views
-1

erwartete ich Datei, die Einstelldaten von Temperaturen enthält, von 12 Monaten:Mehr Daten als

enter image description here

und ich habe diesen Code:

if n <= 0: #validate the size 
    raise ValueError("Invalid data set size value.") 
for i in range(n): 
    line = infile.readline() #read a data set 
if line != "": 
    raise RuntimeError("more data sets than expected") #check if there is more lines than expected 

, wenn ich das Programm die Ausgabe laufen ist

+3

Was ist 'n'? Ihre Frage ist überhaupt nicht klar: Es ist in der Tat normal, dass sie die letzte Ausnahme aufwirft. –

+4

Noch wichtiger, bitte korrigieren Sie Ihre Einrückung. –

+1

Was möchten Sie erreichen? – Arne

Antwort

0

Sie haben 12 Zeilen Daten, die Sie Zeile für Zeile 12 mal lesen. Nach dem 12. Lesen enthält line die letzte Datenzeile und wird nicht gelöscht. Aus diesem Grund wird line != "" als wahr ausgewertet und der Fehler wird ausgelöst. Vielleicht sollten Sie readline ein weiteres Mal

for i in range(n): 
    line = infile.readline() #read a data set 
if infile.readline() != "": 
    raise RuntimeError("more data sets than expected") #check if there is more lines than expected 

Beachten Sie, dass es bessere Wege gibt, um damit umzugehen:

lines = infile.readlines() 
if len(lines) > n: 
    raise RuntimeError("more data sets than expected") #check if there is more lines than expected 
+0

Danke, ich bekomme meinen Fehler –

Verwandte Themen