2017-08-04 17 views
0

私はprint文の前後にかっこと引用文を持っています。他のprint文と同じように見えますが、構文エラーが発生しています。なにが問題ですか? (それはこのコードのブロックの最後のprint文です)。ここ奇妙な印刷構文エラー

def printSummary(itemRecords) : 
    # printSummary prints a summary from the itemRecords dictionary 
    print("ID  NAME  Start Available  Reservations  Subtractions  End Stock") 
    print("---  ----- --------------  ----------  -----------  ---------") 
    for rec in itemRecords.values(): 
     print("{0:5s} {1:12s} {2:6d} {3:6d} {4:6d} {5:6d}".format(rec.getID(), rec.getName(), rec.getAvailableStart(), rec.getReservations(), rec.getCancellations(), rec.getAvailableEnd()) 
    #print the footer 
    print("------------------------------------------------------------------------------------") 
+3

最後の印刷前の行を確認してください。 – tkausl

+0

目下、表形式のパッケージを使用してください。それはもっとうまくいくでしょう。 –

+0

@tkauslのやや謎のコメントにフォローアップするには、コードエディタでブラケットの強調表示機能が一致しているかどうかを確認することを強くお勧めします。 –

答えて

1

はあなたの問題への代替ソリューションです。

from tabulate import tabulate 

def printSummary(itemRecords) : 
    result = list() 
    headers = ["ID", "NAME", "Start Available", "Reservations", "Subtractions", "End Stock"] 
    result.append(headers) 

    for rec in itemRecords.values(): 
     row_rec = list() 
     row_rec.append([rec.getID(), rec.getName(), rec.getAvailableStart(), rec.getReservations(), rec.getCancellations(), rec.getAvailableEnd()]) 
     result.append(row_rec) 


    print tabulate(result, headers="firstrow") 
0

この行を確認してください:あなたは、パラメータが欠落しています。

間違っ:

print("{0:5s} {1:12s} {2:6d} {3:6d} {4:6d} {5:6d}".format(rec.getID(), rec.getName(), rec.getAvailableStart(), rec.getReservations(), rec.getCancellations(), rec.getAvailableEnd()) 

右:

print("{0:5s} {1:12s} {2:6d} {3:6d} {4:6d} {5:6d}".format(rec.getID(), rec.getName(), rec.getAvailableStart(), rec.getReservations(), rec.getCancellations(), rec.getAvailableEnd()))