2017-08-12 49 views
0

我在此基礎上的代碼Bin packing Python query with variable bin cost and sizes彬Python的包裝 - 打印總成本

如何打印解決方案的總成本工作的一個裝箱問題?即,「使用了4個箱,成本= 50」

到目前爲止,我有

for i in range(max_bins): 
    if y[i].value() == 1: 
      print 'bin used = cost', bincost[i] 

這將打印的每個使用倉這是很大的成本,但我想的總成本。所以我加

print sum(bincost[i]) 

但是,當我使用這個,我得到錯誤"'float' object is not iterable"。有沒有人有任何建議,以另一種方式來解決這個問題?

+0

你的整個代碼是什麼?什麼是bincost? –

+0

bincost是浮動物列表,例如[48.0,36.0,60.0,60.0] – plshelp

回答

2

您正在嘗試查找浮點數的總和。這不可能。看來你需要做的是print sum([bincost[i] for i in range(len(bincost)) if y[i].value() == 1])

+0

這將打印所有容器的總和,我只想打印使用的容器的總和。 – plshelp

+0

@plshelp現在如何 –

+1

是的,這是可行的,謝謝。我已經找到了另一種方法,通過將浮點數更改爲整數,然後將它們附加到列表中,然後找到總和。 – plshelp