Python 上的装箱 - 打印总成本

Bin Packing on Python - print total cost

我正在根据这段代码解决装箱问题

如何打印解决方案的总成本?即“使用了 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"。有人对解决此问题的另一种方法有任何建议吗?

您正在尝试计算浮点数的总和。这不可能。看来你需要做 print sum([bincost[i] for i in range(len(bincost)) if y[i].value() == 1])