python仓库管理

    技术2026-08-23  11

    一个简单的仓库管理系统

    小白纪念自己写的第一个代码,里面的内容略显冗杂,希望有大神批评指正。这个代码不涉及数据库,全部用字典和列表代替,也仅仅是简单的循环遍历。

    """简易物流操作""" """基本功能: 1、仓库的入库(名称和数量) 2、仓库的出库(名称和数量) 3、物流状态的查询 4、查询库存 5、员工调度查询 技术:数据类型(字典列表)、循环、条件语句 """ """设计思路: 1、仓库的入库出库 1)创建一个空字典当作库用于存储商品名称及数量 2)创建两个列表,分别用来存储字典中的key和value 3)输入的元素作为字典中的key和存储key值的列表进行比对。 <1>输入元素已存在于列表中,则遍历算出找到该元素的步长,存储value值的列表根据步长寻到对应的值, 并根据入库还是出库,算出新的value,分别在字典和列表中将原有value进行替换 <2>输入元素不存在于列表中,入库操作时,添加新的kv对;出库操作则提示错误 2、查询库存 通过print直接在控制面板上输出字典 3、物流状态查询 1)创建一个字典当作库,单号与状态形成kv对,提前将订单号及状态写入 2)创建两个列表,分别用来存储字典中的key和value 3)输入的元素作为字典中的key和存储key值的列表进行比对。 <1>输入元素已存在于列表中,则遍历算出找到该元素的步长,存储value值的列表根据步长寻到对应的值, 并将该值打印输出 <2>输入元素不存在于列表中,则提示该货物不存在 4、岗位人员数量安排查询 1)创建一个字典当作库,岗位与人数形成kv对,提前将岗位及人数写入 2)创建两个列表,分别用来存储字典中的key和value 3)输入的元素作为字典中的key和存储key值的列表进行比对。 <1>输入元素已存在于列表中,则遍历算出找到该元素的步长,存储value值的列表根据步长寻到对应的值, 并将该值打印输出 <2>输入元素不存在于列表中,则提示该岗位不存在 """ """代码开始""" #coding=UTF-8 lst={}#创建库存字典 aa=[]#创建入库存储货物名的列表 bb=[]#创建入库存储数量的列表 aaa=[]#创建出库存储货物名的列表 bbb=[]#创建出库存储数量的列表 d={"123115":"已到达送货地址","21561":"到达济南","35958":"离开济南发往北京"}#创建字典当作物流状态库 gg=[]#存储订单号的列表 ww=[]#存储运输状态的列表 #创建工作岗位库 ff={"仓库人员":"100","电脑技术维修工":"1","运输车司机":"30","客服人员":"20","业务经理":"3","市场营销人员":"15","仓库主管":"1","电子商务人员":"10","美工":"1",} ga=[]#存储岗位名的列表 wb=[]#存储岗位人员数量的列表 flag=True """循环开始""" while flag: t=input("请选择操作类型:1 入库 2 出库 3 物流状态查询 4 查询库存 5 岗位人员数量安排查询")#给出操作提示 """入库开始""" if str(t)=="1": f=True """循环开始""" while f: la=str(input("请输入货物名称(E退出):")) if la=="E": f=False else : for a in lst.keys():# a是字典lst的key,相当于库中的货物名 aa.append(a)# 将货物名存入列表aa中 for b in lst.values():# b是字典lst的value,相当于库中的数量 bb.append(b)# 将数量存入列表bb中 """遍历求列表aa找到输入的货物名la用的步长,求列表bb中对应的步长的值""" if la in aa:#输入的货物名在库中 c = -1 for ca in aa:#给定库中的一个元素,并进行遍历 c = c + 1 if ca == la:#当给定元素与输入相同时,遍历结束,求出步长c n = bb[c]#入库前的货物数量 t=input("请输入入库数量:") x = int(n) + int(t)#入库后的货物数量 lst[la]=x#将仓库中原数量替换为入库后的 bb[c]=x#将给定元素替换为入库后的数量 print("入库成功") else: lb = input("请输入入库数量:") lst[la] = lb#在库中添加货物名及数量 print("入库成功") """出库开始""" if str(t)=="2": l=str(input("请输入货物名称:")) for ad in lst.keys():# ad是字典lst的key,相当于库中的货物名 aaa.append(ad)# 将货物名存入列表aaa中 for bd in lst.values():# bd是字典lst的value,相当于库中的数量 bbb.append(bd)# 将数量存入列表bbb中 """遍历求列表aaa找到输入的货物名l用的步长,求列表bbb中对应的步长的值""" if l in aaa:#输入的货物名在库中 c = -1 for cc in aaa:#给定库中的一个元素,并进行遍历 c = c + 1#c为步长 if cc == l:#当给定元素与输入相同时,遍历结束,求出步长c nn = bbb[c]#nn为出库前的数量 tt = input("请输入出库数量:") ttt=int(nn)-int(tt)#ttt为出库后的数量 if ttt<0: print("货物不足,请及时补货!!!") print("货物余量:") print(lst[l])#打印出库前的数量 else: lst[l]=ttt#将库中原有数量改成出库后的数量 bbb[c] = ttt#在列表原来的数量位置替换为出库后的数量 print("出库成功,货物余量:") print(lst[l])#打印出库后的数量 else: print("货物不存在") """物流状态查询开始""" if str(t) == "3": lc = input("请输入货物单号:") for ab in d.keys(): # ab是字典d的key,相当于库中的单号 gg.append(ab) # 将单号存入列表gg中 for ba in d.values(): # ba是字典d的value,相当于库中的物流状态 ww.append(ba) # 将物流状态存入列表ww中 """遍历求列表gg找到输入的单号lc用的步长,求列表ww中对应的步长的值""" if lc in gg: # 当输入的单号在列表gg中 c = -1 for ca in gg: # 当输入的单号在列表gg中 c = c + 1 # c为步长 if ca == lc: # ca=lc时,求得步长,算出输入的单号在列表gg的位置 vb = ww[c] # 根据求得的位置找出ww列表对应的信息 print(vb) else: print("货物不存在,请重新输入!") """库存查询开始""" if str(t) == "4": print(lst)#输出打印字典lst """岗位及人员数量查询开始""" if str(t) == "5": print("仓库人员"+" "+"电脑技术维修工"+" "+"运输车司机"+" "+"客服人员"+" "+"业务经理"+" "+"市场营销人员"+" "+"仓库主管"+" "+"电子商务人员"+" "+"美工") lg = input("请输入查询岗位:") for ag in ff.keys():# ag是字典d的key,相当于库中的岗位名 ga.append(ag)# 将岗位名存入列表ga中 for bg in ff.values():# bg是字典d的key,相当于库中的岗位人员数量 wb.append(bg)# 将岗位人员数量存入列表wb中 """遍历求列表ga找到输入的岗位名lg用的步长,求列表wb中对应的步长的值""" if lg in ga:#输入的岗位名在库中 c = -1 for cg in ga: c = c + 1 if cg == lg: vg = wb[c]#vg为员工数量 print("员工人数为:"+vg + "人") else: print("岗位不存在,请重新输入!") """程序结束"""
    Processed: 0.009, SQL: 9