2016-03-12 84 views
0

我試圖獲得lines2[4]的總和。這裏是程序如何添加列表的一部分

barcode = int(raw_input("\nenter product's GTIN-8 barcode\n>>>")) 
main(barcode) 
def main(product): 
    textfile=open("stock.txt","r") 
    quantity=int(raw_input("enetr quantity\n>>>>")) 
    for lines in textfile: 
     br,pd,pr=lines.split(",") 
     if int(br)==int(product): 
      price=float(quantity)*float(pr) 
      lines2=[product,pd,pr,quantity,"%.2f"%price] 
      print sum(map(int,lines2[4]))` 

我不斷收到被

ValueError: invalid literal for int() with base 10: '.'

任何想法,爲什麼錯誤?

回答

0

您似乎在浮點數上使用了int()。 陳述"%.2f"生成一個字符串,意味着它包含一個「。」。字符。

嘗試更換的最後一行:print sum(map(int,lines2[4]))print sum(map(float,lines2[4]))

+0

沒關係意識到我做錯了什麼。只需要附加到一個單獨的列表。 OOPS –

相關問題