# 商品信息类,包含编号、名称、库存量、销售量四个属性
class Product:
def __init__(self, id, name, stock, sales):
self.id = id
self.name = name
self.stock = stock
self.sales = sales
# 商品信息管理类,包含一个商品列表
class ProductManager:
def __init__(self):
self.products = []
# 添加商品
def add_product(self, product):
self.products.append(product)
# 删除商品
def delete_product(self, product_id):
for i, product in enumerate(self.products):
if product.id == product_id:
del self.products[i]
return True
return False
# 修改商品信息
def update_product(self, product_id, stock_delta, sales_delta):
for product in self.products:
if product.id == product_id:
product.stock += stock_delta
product.sales += sales_delta
return True
return False
# 按名称查询商品
def search_by_name(self, name):
result = []
for product in self.products:
if name in product.name:
result.append(product)
return result
# 按类别查询商品
def search_by_category(self, category):
result = []
for product in self.products:
if category in product.category:
result.append(product)
return result
# 查询库存量小于5的商品
def search_low_stock(self):
result = []
for product in self.products:
if product.stock < 5:
result.append(product)
return result
# 统计不同商品的销售量
def get_sales_statistics(self):
result = {}
for product in self.products:
if product.name not in result:
result[product.name] = product.sales
else:
result[product.name] += product.sales
return result
# 统计不同商品的销售比
def get_sales_ratio(self):
result = {}
total_sales = 0
for product in self.products:
total_sales += product.sales
for product in self.products:
result[product.name] = product.sales / total_sales
return result