python超市商品管理系统
时间: 2025-01-02 20:40:31 浏览: 12
### 使用 Python 实现超市商品管理系统的概述
对于初学者来说,构建一个简单的超市商品销售管理系统是一个很好的实践项目。此系统主要依赖于基本的 Python 功能而无需引入复杂的数据库操作或网络爬虫技术[^1]。
#### 系统设计思路
该系统可以被分解成几个核心模块:
- 用户登录验证
- 商品库存管理(增加、删除、修改)
- 销售记录处理
- 查询功能
这些模块可以通过定义不同的函数来实现,从而保持代码结构清晰易懂。
#### 示例代码展示
下面提供了一个简化版本的商品管理系统框架作为入门指导:
```python
# 定义全局变量存储数据
products = [] # 存储所有产品信息 [{id,name,price}]
sales_records = [] # 记录每次交易详情 [{'product_id', 'quantity'}]
def add_product(product_info):
""" 添加新产品 """
products.append(product_info)
def remove_product_by_id(pid):
""" 根据ID移除指定的产品 """
global products
products = [p for p in products if p['id'] != pid]
def update_stock(pid, new_quantity):
""" 更新特定产品的数量 """
for product in products:
if product["id"] == pid:
product["stock"] += int(new_quantity)
break
def list_all_products():
""" 列出当前所有的商品列表 """
print("现有商品如下:")
for item in products:
print(f'编号:{item["id"]} 名称:{item["name"]} 单价:{item["price"]} 库存:{item.get("stock",0)}')
def make_sale(sale_record):
""" 处理一次购买行为并更新库存 """
sales_records.append(sale_record)
sold_item_ids = set([r['product_id'] for r in sale_record])
for sid in sold_item_ids:
total_sold_qty = sum(r['quantity'] for r in sale_record if r['product_id']==sid)
# 减少对应商品的数量
update_stock(sid,-total_sold_qty)
if __name__ == "__main__":
# 初始化一些测试数据
test_data = [
{"id": "A001","name":"苹果","price":3,"stock":10},
{"id": "B002","name":"香蕉","price":2,"stock":20}
]
for td in test_data:
add_product(td)
while True:
action=input('请输入要执行的操作 (add/remove/update/list/sell/exit): ')
if action.lower()=='add':
name=input('输入新商品名称:')
price=float(input('价格:'))
stock=int(input('初始库存量:'))
prod_id=f"P{len(products)+1}"
add_product({"id":prod_id,"name":name,"price":price,"stock":stock})
elif action.lower()=='remove':
pid=input('请输入要删除的商品ID:')
remove_product_by_id(pid)
elif action.lower()=='update':
pid=input('请输入要更改的商品ID:')
qty_change=int(input('变化的数量 (+/- 数字):'))
update_stock(pid,qty_change)
elif action.lower()=='list':
list_all_products()
elif action.lower()=='sell':
items_to_sell=[]
cont='y'
while cont.lower().startswith('y'):
pid=input('卖出哪款商品?(ID)')
num=int(input('卖了多少件?'))
items_to_sell.append({'product_id':pid,'quantity':num})
cont=input('继续录入其他商品吗?(Y/N)')
make_sale(items_to_sell)
elif action.lower()=='exit':
exit()
```
这段程序展示了如何通过简单的方式创建一个交互式的命令行界面来进行商品管理和销售记录维护。随着学习进度加深,还可以考虑加入更多高级特性如图形化界面(GUI),连接外部API获取实时市场价格等。
阅读全文