C = 4
w = [0,2,3,4,1]
v = [0,5,6,7,2]
val = [[0 for i in range(C+1)] for j in range(len(w))]
print val
items = [[0 for i in range(C+1)] for j in range(len(w))]
print items
for i in range(len(w))[1:]:
  for j in range(C+1)[1:]:
    if ((w[i]<=j) and (val[i-1][j] < v[i] + val[i-1][j-w[i]])):
      items[i][j] = i
      val[i][j] = v[i] + val[i-1][j-w[i]]
    else:
      items[i][j] = items[i-1][j]
      val[i][j] = val[i-1][j]
print val
print items
print " total value obtainable is ", val[len(w)-1][C], " euro." 
i = len(w)-1
j = C
weight = C
while (items[i][j]<>0):
  print " choose item number " , items[i][j], ": remaining capacity is " , weight - w[items[i][j]], " kg."
  weight = weight - w[items[i][j]]
  j = j-w[items[i][j]]
  i = i-1
