使用python 解决背包问题,代码还可以进一步优化,先粘贴出来,以作以后处理
#coding:utf-8
#存放多种组合,key为价格,value为good_store实例
combination = {}
class goods(object):
'''
#物品类
#三个属性,价格,体积,物品名称
'''
def __init__(self, name, price, volume):
self.price = price
self.volume = volume
self.name = name
class good_store(object):
'''
#一种物品组合存储容器类
#四个属性,容器内物品总体积,容器内物品总价值,容器内物品,容器最大容积
'''
def __init__(self, max_v):
self.volume = 0
self.price = 0
self.goods = []
self.max_v = max_v
def put(self, goods):
'''
#存放物品,存放成功返回True,否则返回False
'''
if self.volume+goods.volume > self.max_v:
return False
sel