进销存系统是一个基本的商业管理系统,用于跟踪库存、销售和采购活动。以下是一个简单的进销存系统的Python实现,这个系统包括商品管理、采购入库、销售出库以及库存查询的功能。
首先,我们定义一个Product
类来表示商品:
python复制代码
class Product: | |
def __init__(self, id, name, price, stock): | |
self.id = id | |
self.name = name | |
self.price = price | |
self.stock = stock | |
def __str__(self): | |
return f"Product(id={self.id}, name={self.name}, price={self.price}, stock={self.stock})" |
然后,我们定义一个InventorySystem
类来表示进销存系统:
python复制代码
class InventorySystem: | |
def __init__(self): | |
self.products = {} | |
def add_product(self, product): | |
if product.id in self.products: | |
print("Product already exists.") | |
return | |
self.products[product.id] = product | |
print(f"Added product: {product}") | |
def purchase_product(self, product_id, quantity): | |
if product_id not in self.products: | |
print("Product does not exist.") | |
return | |
product = self.products[product_id] | |
if quantity < 0: | |
print("Quantity cannot be negative.") | |
return | |
product.stock += quantity | |
print(f"Purchased {quantity} of {product.name}. New stock: {product.stock}") | |
def sell_product(self, product_id, quantity): | |
if product_id not in self.products: | |
print("Product does not exist.") | |
return | |
product = self.products[product_id] | |
if quantity < 0: | |
print("Quantity cannot be negative.") | |
return | |
if quantity > product.stock: | |
print("Insufficient stock.") | |
return | |
product.stock -= quantity | |
print(f"Sold {quantity} of {product.name}. Remaining stock: {product.stock}") | |
def get_product_stock(self, product_id): | |
if product_id not in self.products: | |
print("Product does not exist.") | |
return | |
product = self.products[product_id] | |
print(f"Stock of {product.name}: {product.stock}") |
现在,我们可以使用这个进销存系统了:
python复制代码
# 创建进销存系统实例 | |
inventory_system = InventorySystem() | |
# 添加商品 | |
product1 = Product(1, "Laptop", 1000, 10) | |
inventory_system.add_product(product1) | |
# 采购商品 | |
inventory_system.purchase_product(1, 5) | |
# 销售商品 | |
inventory_system.sell_product(1, 3) | |
# 查询库存 | |
inventory_system.get_product_stock(1) |
这个简单的进销存系统只提供了最基本的功能,并且没有进行数据库存储,所以每次程序重启后数据都会丢失。在实际应用中,你可能需要添加更多的功能,比如支持多个仓库、支持商品分类、支持用户权限管理、使用数据库进行持久化存储等。同时,你也需要考虑并发控制和数据一致性等问题。