Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我为背包问题编写了一个代码,但系统不会告诉我代码中有什么错误,只会告诉它有错误_Python - Fatal编程技术网

Python 我为背包问题编写了一个代码,但系统不会告诉我代码中有什么错误,只会告诉它有错误

Python 我为背包问题编写了一个代码,但系统不会告诉我代码中有什么错误,只会告诉它有错误,python,Python,*这是我第一次发帖,有人告诉我这个地方就像天堂,所以大家好:) 我有一个关于背包的问题,上面说 小偷发现的赃物比他的袋子装得下的多得多。假设赃物的任何部分都可以放入他的袋子中,帮助他找到最有价值的物品组合。输入的第一行包含物品的数量n和背包的容量W。接下来的n行定义项目的值和权重。第i行包含整数vi和wi,分别表示第i项的值和权重。 我认为这段代码可能不是最容易阅读的,因为我是初学者,但基本上 n=返回的物品数量=袋子和三张清单的存储限制,x是价值与重量的比率,tot=总价值 这就是我得到的错误

*这是我第一次发帖,有人告诉我这个地方就像天堂,所以大家好:) 我有一个关于背包的问题,上面说 小偷发现的赃物比他的袋子装得下的多得多。假设赃物的任何部分都可以放入他的袋子中,帮助他找到最有价值的物品组合。输入的第一行包含物品的数量n和背包的容量W。接下来的n行定义项目的值和权重。第i行包含整数vi和wi,分别表示第i项的值和权重。 我认为这段代码可能不是最容易阅读的,因为我是初学者,但基本上 n=返回的物品数量=袋子和三张清单的存储限制,x是价值与重量的比率,tot=总价值 这就是我得到的错误 失败案例#5/13:回答错误 输出格式错误:列表索引超出范围 希望你们能帮助我,有一天我会成为那个能帮助我的人

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))```