如何利用函数的方法写#模拟菜单方式,实现商品进销存管理,其中要体现成本核算功能(成本核算采用移动加权平均法), # 具体要求:1)商品进货管理 2)商品销售管理 3)商品库存管理 4)商品统计查询
时间: 2024-03-25 19:37:04 浏览: 121
好的,下面是一个通过函数实现的商品进销存管理系统,包括商品进货管理、商品销售管理、商品库存管理和商品统计查询功能。
```python
# 商品字典,key为商品名称,value为元组(cost, price, quantity)
commodities = {}
# 采用移动加权平均法计算成本
def update_cost(name, cost, quantity):
old_cost, price, old_quantity = commodities[name]
new_cost = (old_cost * old_quantity + cost * quantity) / (old_quantity + quantity)
commodities[name] = (new_cost, price, old_quantity + quantity)
# 更新商品数量
def update_quantity(name, quantity):
old_cost, price, old_quantity = commodities[name]
commodities[name] = (old_cost, price, old_quantity + quantity)
# 添加商品
def add_commodity():
name = input('请输入商品名称:')
if name in commodities:
cost = float(input('请输入商品成本:'))
price = commodities[name][1]
quantity = float(input('请输入商品数量:'))
update_cost(name, cost, quantity)
update_quantity(name, quantity)
else:
cost = float(input('请输入商品成本:'))
price = float(input('请输入商品售价:'))
quantity = float(input('请输入商品数量:'))
commodities[name] = (cost, price, quantity)
# 删除商品
def delete_commodity():
name = input('请输入商品名称:')
if name in commodities:
del commodities[name]
else:
print('商品不存在!')
# 商品销售
def sell_commodity():
name = input('请输入商品名称:')
if name in commodities:
quantity = float(input('请输入商品数量:'))
if commodities[name][2] >= quantity:
update_quantity(name, -quantity)
else:
print('库存不足!')
else:
print('商品不存在!')
# 商品库存
def list_commodities():
print('商品列表:')
for name, (cost, price, quantity) in commodities.items():
print(f'{name}\t成本:{cost}\t售价:{price}\t库存:{quantity}')
# 商品统计
def summary():
total_quantity = sum(quantity for _, (_, _, quantity) in commodities.items())
total_cost = sum(cost * quantity for _, (cost, _, quantity) in commodities.items())
print(f'商品数量:{total_quantity}\t总成本:{total_cost}')
# 菜单函数
def menu():
while True:
print('请选择操作:')
print('1. 商品进货')
print('2. 商品销售')
print('3. 商品库存')
print('4. 商品统计')
print('5. 退出')
choice = input('请输入操作编号:')
if choice == '1':
add_commodity()
elif choice == '2':
sell_commodity()
elif choice == '3':
list_commodities()
elif choice == '4':
summary()
elif choice == '5':
break
else:
print('无效的操作编号,请重新输入!')
# 运行菜单函数
menu()
```
以上代码实现了一个简单的商品进销存管理系统,采用了函数的方式实现各种功能。其中,商品成本采用移动加权平均法进行计算。您可以根据自己的需求进行修改和扩展。
阅读全文