<p>我的代码中有一些愚蠢的错误。我改变了一些事情,下面的事情对我来说是可行的</p>
<pre><code>def shelving(dairy_items):
filled = 0
worth = 0
shelves = []
while filled <= capacity:
smallest_product = math.inf
most_expensive_product = 0
for productNr in range(len(dairy_items)):
if dairy_items[productNr][1] < smallest_product:
smallest_product = dairy_items[productNr][1]
most_expensive_product = dairy_items[productNr][2]
productID = dairy_items[productNr][0]
elif smallest_product == dairy_items[productNr][1]:
if dairy_items[productNr][2] > most_expensive_product:
smallest_product = dairy_items[productNr][1]
productID = dairy_items[productNr][0]
most_expensive_product = dairy_items[productNr][2]
dairy_items.remove((productID, smallest_product, most_expensive_product))
if filled + smallest_product >= 200:
break
filled = filled + smallest_product
worth = worth + most_expensive_product
shelves.append(productID)
return (shelves, filled , worth)
</code></pre>