用python写一个超市管理系统
时间: 2024-05-17 10:19:48 浏览: 131
好的,下面是一个简单的超市管理系统的代码示例,主要包括对商品的增删改查和购物结算等功能。请注意,这只是一个简单的示例,您可以根据自己的需要进行修改和优化。
```python
# 超市商品管理系统
# 商品类
class Commodity:
def __init__(self, id, name, price, stock):
self.id = id # 商品编号
self.name = name # 商品名称
self.price = price # 商品价格
self.stock = stock # 商品库存
# 商品管理类
class CommodityManager:
def __init__(self):
self.commodities = [] # 商品列表
# 添加商品
def addCommodity(self, commodity):
self.commodities.append(commodity)
print("商品添加成功!")
# 删除商品
def delCommodity(self, id):
for commodity in self.commodities:
if commodity.id == id:
self.commodities.remove(commodity)
print("商品删除成功!")
return
print("商品不存在!")
# 修改商品信息
def updateCommodity(self, id, name, price, stock):
for commodity in self.commodities:
if commodity.id == id:
commodity.name = name
commodity.price = price
commodity.stock = stock
print("商品信息修改成功!")
return
print("商品不存在!")
# 查询商品信息
def queryCommodity(self, id):
for commodity in self.commodities:
if commodity.id == id:
print("商品编号:", commodity.id)
print("商品名称:", commodity.name)
print("商品价格:", commodity.price)
print("商品库存:", commodity.stock)
return
print("商品不存在!")
# 显示所有商品信息
def showAllCommodities(self):
for commodity in self.commodities:
print("商品编号:", commodity.id)
print("商品名称:", commodity.name)
print("商品价格:", commodity.price)
print("商品库存:", commodity.stock)
# 购物车类
class ShoppingCart:
def __init__(self):
self.items = {} # 购物车商品列表
# 添加商品到购物车
def addCartItem(self, commodity, quantity):
if commodity.stock >= quantity:
if commodity.id in self.items:
self.items[commodity.id]['quantity'] += quantity
else:
self.items[commodity.id] = {'commodity': commodity, 'quantity': quantity}
commodity.stock -= quantity
print("商品添加成功!")
else:
print("商品库存不足!")
# 从购物车删除商品
def delCartItem(self, id):
if id in self.items:
commodity = self.items[id]['commodity']
quantity = self.items[id]['quantity']
commodity.stock += quantity
del self.items[id]
print("商品删除成功!")
else:
print("商品不存在!")
# 修改购物车商品数量
def updateCartItem(self, id, quantity):
if id in self.items:
commodity = self.items[id]['commodity']
oldQuantity = self.items[id]['quantity']
if commodity.stock + oldQuantity >= quantity:
commodity.stock += oldQuantity - quantity
self.items[id]['quantity'] = quantity
print("商品数量修改成功!")
else:
print("商品库存不足!")
else:
print("商品不存在!")
# 显示购物车商品信息
def showCartItems(self):
for item in self.items.values():
print("商品编号:", item['commodity'].id)
print("商品名称:", item['commodity'].name)
print("商品价格:", item['commodity'].price)
print("商品数量:", item['quantity'])
# 计算购物车商品总价
def calculateTotalPrice(self):
totalPrice = 0
for item in self.items.values():
totalPrice += item['commodity'].price * item['quantity']
return totalPrice
# 超市管理系统类
class Supermarket:
def __init__(self):
self.commodityManager = CommodityManager() # 商品管理类
self.shoppingCart = ShoppingCart() # 购物车类
# 初始化商品列表
def initCommodities(self):
c1 = Commodity(1001, "可乐", 2.5, 100)
c2 = Commodity(1002, "薯片", 5, 50)
c3 = Commodity(1003, "饼干", 3, 80)
self.commodityManager.addCommodity(c1)
self.commodityManager.addCommodity(c2)
self.commodityManager.addCommodity(c3)
# 显示商品菜单
def showCommodityMenu(self):
print("**********商品菜单**********")
self.commodityManager.showAllCommodities()
print("*****************************")
# 显示购物车菜单
def showCartMenu(self):
print("**********购物车菜单**********")
self.shoppingCart.showCartItems()
print("*******************************")
# 添加商品到购物车
def addCommodityToCart(self):
id = int(input("请输入商品编号:"))
quantity = int(input("请输入购买数量:"))
commodity = self.commodityManager.queryCommodity(id)
if commodity:
self.shoppingCart.addCartItem(commodity, quantity)
# 从购物车删除商品
def delCommodityFromCart(self):
id = int(input("请输入商品编号:"))
self.shoppingCart.delCartItem(id)
# 修改购物车商品数量
def updateCartItemQuantity(self):
id = int(input("请输入商品编号:"))
quantity = int(input("请输入购买数量:"))
self.shoppingCart.updateCartItem(id, quantity)
# 结算购物车
def settleCart(self):
totalPrice = self.shoppingCart.calculateTotalPrice()
print("购物车总价为:", totalPrice)
# 超市管理系统主界面
def mainMenu(self):
while True:
print("**********超市管理系统**********")
print("1. 初始化商品列表")
print("2. 显示商品菜单")
print("3. 显示购物车菜单")
print("4. 添加商品到购物车")
print("5. 从购物车删除商品")
print("6. 修改购物车商品数量")
print("7. 结算购物车")
print("8. 退出系统")
choice = int(input("请选择操作:"))
if choice == 1:
self.initCommodities()
elif choice == 2:
self.showCommodityMenu()
elif choice == 3:
self.showCartMenu()
elif choice == 4:
self.addCommodityToCart()
elif choice == 5:
self.delCommodityFromCart()
elif choice == 6:
self.updateCartItemQuantity()
elif choice == 7:
self.settleCart()
elif choice == 8:
break
else:
print("输入错误,请重新输入!")
# 测试代码
if __name__ == '__main__':
supermarket = Supermarket()
supermarket.mainMenu()
```
在上面的代码中,我们定义了一个 `Commodity` 类来表示商品,具有商品编号、商品名称、商品价格和商品库存等属性。我们还定义了一个 `CommodityManager` 类来管理商品,实现了添加商品、删除商品、修改商品信息、查询商品信息和显示所有商品信息等操作。购物车类 `ShoppingCart` 实现了添加商品到购物车、从购物车删除商品、修改购物车商品数量、显示购物车商品信息和计算购物车商品总价等操作。超市管理系统类 `Supermarket` 整合了商品管理类和购物车类,实现了超市管理系统的主要功能,包括初始化商品列表、显示商品菜单、显示购物车菜单、添加商品到购物车、从购物车删除商品、修改购物车商品数量和结算购物车等操作。在测试代码中,我们创建了一个超市管理系统实例,并调用超市管理系统的主菜单方法运行系统。
希望这个示例能对您有所帮助!
阅读全文