摸金猪66 2022-10-14 08:37 采纳率: 70%
浏览 42

仓库的烦恼问题一。数据去重,统计。

问题遇到的现象和发生背景

仓库出纳的烦恼。
有一张仓库总数据,然后就是每天的入库流水,出库流水。一个星期后,做总结的时候,发现流水里的物料到底是在库房里还是出库了!

用代码块功能插入代码,请勿粘贴截图

如下图:库房物品用数字代替, 出库流水,入库流水。

库存: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

出库1:  7,8,3,6         入库1: 11,13
出库2:  4,9,2,1         入库2: 9,8,3
出库3:  3,8,5,10       入库3: 2,5,7
出库4:  5,2               入库4: 4,10,1
出库5:  10,4,9          入库5: 6, 5, 8, 4
出库6:  1,8,13,6,5    入库6: 2, 5, 6, 8
出库7:  11, 4, 6, 2     入库7: 3, 11, 2
我的解答思路和尝试过的方法

尝试过用字典,或者 列表,不知道怎么个算法。

我想要达到的结果

请问怎么用python 统计出最后库存是哪些?出库是哪些?某个物品被重复领用了多少次?

  • 写回答

2条回答 默认 最新

  • JiaoEleven 2022-10-14 14:36
    关注
    kf = []
    wp = {}
    qzmc=[]
    wpcf={}
    
    def ruku():
        wpm = input("请输入存入库房的物品名:")
        wpsl = eval(input("请输入存入库房物品{}的数量:".format(wpm)))
        if kf == []:
            wp["{}".format(wpm)] = "{}".format(wpsl)
            kf.append(wp)
        else:
            for i in kf:
                if "{}".format(wpm) in i.keys():
                    dqwps = int(wp["{}".format(wpm)])
                    sl = dqwps + wpsl
                    wp["{}".format(wpm)] = "{}".format(sl)
                if "{}".format(wpm) not in i.keys():
                    wp["{}".format(wpm)] = "{}".format(wpsl)
                    kf.clear()
                    kf.append(wp)
    
    def chuku():
        wpm = input("请输入取出库房的物品名:")
        qzmc.append(wpm)
        for i in kf:
            if "{}".format(wpm) in i.keys():
                wpsl = eval(input("请输入取出库房物品{}的数量:".format(wpm)))
                dqwps = int(wp["{}".format(wpm)])
                sl = dqwps - wpsl
                if sl >= 0:
                    wp["{}".format(wpm)] = "{}".format(sl)
                    for i in qzmc:
                        wpcf[i] = qzmc.count(i)
                elif sl < 0:
                    print("物品{}库存不足!".format(wpm))
            elif "{}".format(wpm) not in i.keys():
                print("物品{}不在库房!".format(wpm))
    
    
    while True:
        cz = eval(input("请输入1或2,1表示存货,2表示取货:"))
        if cz == 1:
            ruku()
            print("《===当前库房所有商品及库存数量!及各物品被重复领用的次数===》")
            for kk, vv in kf[0].items():
                print("物品名:{}   库存数为:{}".format(kk,vv))
    
        elif cz == 2:
            if kf != [] or wpcf !={} :
                chuku()
                print("《===当前库房所有商品及库存数量!及各物品被重复领用的次数===》")
                for kk, vv in kf[0].items():
                    print("物品名:{}   库存数为:{}".format(kk, vv))
                for kk, vv in wpcf.items():
                    print("物品名:{}   重复取出次数:{}".format(kk, (int(vv)-1)))
            else:
                print("当前仓库没有货!请先增加货物!")
    
    

    希望对你能有帮助!

    评论

报告相同问题?

问题事件

  • 创建了问题 10月14日

悬赏问题

  • ¥15 Unity 2022.3.34版本安卓打包apk失败,gradle配置问题,用的是mono2x
  • ¥15 R语言中安装bibliometrix 后运行biblioshiny出现问题
  • ¥20 关于#android#的问题:用开发助手发现找不到控件(autojs)
  • ¥15 dir815漏洞反弹shell失败
  • ¥15 支付宝小程序云函数登录获取user_id失败
  • ¥50 python for 循环速度慢
  • ¥15 CubeMX生成的代码用keil编译有报错
  • ¥15 Stata链式中介效应代码修改
  • ¥15 pip安装PyAV报错
  • ¥15 latex投稿显示click download