Python 我为背包问题编写了一个代码,但系统不会告诉我代码中有什么错误,只会告诉它有错误
*这是我第一次发帖,有人告诉我这个地方就像天堂,所以大家好:) 我有一个关于背包的问题,上面说 小偷发现的赃物比他的袋子装得下的多得多。假设赃物的任何部分都可以放入他的袋子中,帮助他找到最有价值的物品组合。输入的第一行包含物品的数量n和背包的容量W。接下来的n行定义项目的值和权重。第i行包含整数vi和wi,分别表示第i项的值和权重。 我认为这段代码可能不是最容易阅读的,因为我是初学者,但基本上 n=返回的物品数量=袋子和三张清单的存储限制,x是价值与重量的比率,tot=总价值 这就是我得到的错误 失败案例#5/13:回答错误 输出格式错误:列表索引超出范围 希望你们能帮助我,有一天我会成为那个能帮助我的人Python 我为背包问题编写了一个代码,但系统不会告诉我代码中有什么错误,只会告诉它有错误,python,Python,*这是我第一次发帖,有人告诉我这个地方就像天堂,所以大家好:) 我有一个关于背包的问题,上面说 小偷发现的赃物比他的袋子装得下的多得多。假设赃物的任何部分都可以放入他的袋子中,帮助他找到最有价值的物品组合。输入的第一行包含物品的数量n和背包的容量W。接下来的n行定义项目的值和权重。第i行包含整数vi和wi,分别表示第i项的值和权重。 我认为这段代码可能不是最容易阅读的,因为我是初学者,但基本上 n=返回的物品数量=袋子和三张清单的存储限制,x是价值与重量的比率,tot=总价值 这就是我得到的错误
n,back=map(int,input().split())
for i in range(n):
v,w=map(int,input().split())
values.append(v)
weight.append(w)
x.append(v/w)
u=x.index(max(x))
while x !=[]:
u=x.index(max(x))
if weight[u]< back:
back-=weight[u]
tot+=values[u]
values.pop(u)
weight.pop(u)
x.pop(u)
elif weight[u]== back:
back-=weight[u]
tot+=values[u]
break
elif weight[u]>back:
l=weight[u]/back
tot+=values[u]/l
break
else:
print("There is something wrong")
break
print(round(float(tot),0))```
n,back=map(int,input().split())
对于范围(n)中的i:
v、 w=map(int,input().split())
附加值(v)
附加重量(w)
x、 附加(v/w)
u=x.指数(最大值(x))
而x=[]:
u=x.指数(最大值(x))
如果重量[u]<返回:
背面-=重量[u]
tot+=数值[u]
价值观。流行音乐(u)
重量。波普(u)
x、 流行音乐(u)
elif重量[u]==背面:
背面-=重量[u]
tot+=数值[u]
打破
elif重量[u]>背面:
l=重量[u]/背
tot+=数值[u]/l
打破
其他:
打印(“有问题”)
打破
打印(圆形(浮动(tot),0))```