python仓库管理

一个简单的仓库管理系统

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

"""简易物流操作"""
"""基本功能:
            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("岗位不存在,请重新输入!")

"""程序结束"""


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值