2017-08-12 53 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