,校验仓高超限)
阅读提示本文主要面向库管与台账业务人员包含Python语法、安装和使用Pycharm和Python.exe的讲解。如果您没有库存相关业务背景部分业务案例不容易看懂。开场仓库爆仓还手动量面积算库存Python爆仓预警脚本库管套用新手练函数位置参数进货时或者仓库快要爆仓时库管如果全靠手动核算码垛——每层码多少件、每层怎么码、码几层、码几垛、码垛高度——以及每垛占地面积、所有码的垛的占地面积不仅没法在有限的地方放更多货、解决不了爆仓、码垛超高的问题还耽误时间、影响效率。怎么解决这些问题呢不用担心我写了一个Python爆仓预警脚本能解决库管上述的问题。库管可以直接复制粘贴使用也可以稍微加做修改Python新手还能拿这个脚本练手达到熟练掌握Python函数位置参数的语法知识的目的。爆仓预警系统源码复制粘贴就能用可直接修改参数核心功能爆仓预警系统的核心功能如下图所示。在下方流程图中max () 表示取括号内数值的最大值min () 表示取括号内数值的最小值// 为整除运算只保留商的整数部分不四舍五入* 为乘法运算符号。代码详解代码里有注释看不懂也能用下方是仓库爆仓预警完整Python源码复制粘贴即可运行。爆仓预警系统的源码运用了 Python 函数的调用、形参实参、位置参数的语法知识。如果你们因为不懂 Python 函数的调用、形参实参、位置参数的语法知识而看不懂爆仓预警系统的源码请阅读如下两篇文章。Python函数参数报错PyCharm中新手1招解决实参形参混淆Python函数默认参数错PyCharm中新手1招根治importmathdeflayer_qty(box_l,box_w,pallet_l,pallet_w):计算单层码放件数。位置参数箱长、箱宽、码放区长、码放区宽。# 两种摆法①箱长沿码放区长、箱宽沿码放区宽 ②旋转90°aint(pallet_l//box_l)*int(pallet_w//box_w)# 摆法①长对长、宽对宽bint(pallet_l//box_w)*int(pallet_w//box_l)# 摆法②长对宽、宽对长旋转returnmax(a,b)# 取两种摆法中的最大值defpallet_capacity(layer_qty,plan_layers,box_h,max_h):计算单垛容量。位置参数单层件数、计划层数、箱高、垛限高。# 实际层数受两个限制计划层数 和 垛限高/箱高向下取整actualmin(plan_layers,int(max_h//box_h))# 取较小值确保不超垛限高returnlayer_qty*actual,actual# 返回(单垛总件数, 实际层数)defground_area(total,per_pallet,pallet_l,pallet_w,aisle):计算占地面积。位置参数总件数、单垛件数、垛长、垛宽、通道比例。palletsmath.ceil(total/per_pallet)# 向上取整总件数需要多少垛purepallets*pallet_l*pallet_w# 纯货物占地 垛数 × 单垛底面积returnpure*(1aisle),pallets,pure# 返回(含通道占地, 垛数, 纯占地)defreserve(total,box_l,box_w,box_h,pallet_l,pallet_w,max_h,layers,aisle,warehouse_h): 仓库预留面积规划。10个位置参数依次 总件数、箱长、箱宽、箱高、垛长、垛宽、垛限高、计划层数、通道比例、仓库高度。 layerlayer_qty(box_l,box_w,pallet_l,pallet_w)# ① 单层能放多少件per_pallet,actualpallet_capacity(layer,layers,box_h,max_h)# ② 单垛能放多少件、实际码几层area,pallets,pureground_area(total,per_pallet,pallet_l,pallet_w,aisle)# ③ 需要多大面积# 校验码垛总高度是否超过仓库高度stack_heightactual*box_h# 码垛高度 实际层数 × 单箱高度print(-*42)ifstack_heightwarehouse_h:print(f【警告】码垛高度{stack_height:.2f}m 超过仓库高度{warehouse_h}m)else:print(f【校验通过】码垛高度{stack_height:.2f}m ≤ 仓库高度{warehouse_h}m)print(-*42)# 清晰报表格式print(f{输入参数:^42})print(f 来货总件数 :{total}件)print(f 标准箱尺寸 :{box_l}m ×{box_w}m ×{box_h}m)print(f 码垛区尺寸 :{pallet_l}m ×{pallet_w}m)print(f 垛高 :{max_h}m)print(f 仓库高度 :{warehouse_h}m)print(f 计划码垛层数 :{layers}层)print(f 通道预留比例 :{aisle*100:.0f}%)print(f{码垛方案:^42})print(f 单层码放 :{layer}件/层)print(f 实际层数 :{actual}层)print(f 单垛容量 :{per_pallet}件/垛)print(f 需垛数 :{pallets}垛)print(f{空间计算:^42})print(f 纯货物占地 :{pure:.2f}㎡)print(f 含通道预留 :{area:.2f}㎡)print(f 建议预留面积 :{area*1.1:.2f}㎡ (含10%缓冲))print(*42)returnarea# 通过 input() 按 reserve() 的位置参数顺序收集10个值params[int(input(来货总件数: )),float(input(标准箱长度(米): )),float(input(标准箱宽度(米): )),float(input(标准箱高度(米): )),float(input(码垛区长度(米): )),float(input(码垛区宽度(米): )),float(input(垛高(米): )),int(input(计划码垛层数: )),float(input(通道预留比例(如0.35): )),float(input(仓库高度(米): )),]reserve(*params)运行结果自动生成报表截图给你看效果爆仓预警系统的运行结果如下四幅图所示。来货总件数、标准箱的长宽高、码垛区的长宽高、计划码垛层数、通道预留比例、仓库高度等参数均可根据实际业务场景灵活设置。设置完成后爆仓预警系统将自动检验码垛高度是否超过仓库高度。无论检验结果如何系统都会输出完整报表。如下两幅图所示我根据实际工作场景将上述参数依次设为 0.5、0.25、0.25、1.25、0.75、2.75、11、0.4、3。经系统检验码垛高度未超过仓库高度并输出了完整报表。如下两幅图所示本次我将来货总件数、标准箱的长宽高、码垛区的长宽高、计划码垛层数、通道预留比例、仓库高度设为与上次相同的参数。经系统检验码垛高度超过仓库高度系统及时发出警告并输出了完整报表。这个脚本能帮你做什么3分钟看完复制粘贴就能跑对于库管来说Python爆仓预警脚本能帮你自动核算码垛每层码放件数、每层怎么码码几层、码几垛、码垛高度和每垛占地面积、所有码的垛的占地面积还能自动把码垛高度和输入的仓库高度进行对比并给出码垛高度是否超过仓库高度的提示帮你解决码垛超高、爆仓的问题让你在有限的地方放更多的货同时缩短你核算仓库码垛、占地面积的时间。对于Python新手来说通过练习编写Python爆仓预警脚本可以达到熟练掌握Python函数位置参数语法知识的目的。库管和Python新手复制粘贴就能运行。新手/库管照做就能搞定Python运行环境在使用这个脚本之前库管和Python新手必须先学会Pycharm和Python.exe的安装和使用因为不会安装和使用它们脚本就无法运行。如果库管和Python新手还没有熟练掌握Pycharm和Python.exe的安装和使用请阅读如下两篇文章。安装Pycharm配置python.exe0基础新手一次成功如何使用PyCharm0基础新手必看七大核心功能越用越有意思举一反三这套代码还能算货架/车厢装载Python爆仓预警脚本的应用场景除了仓库进货码垛还包括在货架上放货、给车装货等。因为它的功能是通用的。复盘总结Python爆仓预警脚本的功能是自动核算码垛方案——包括每层码放件数、每层怎么码、码几层、码几垛、码垛高度——以及每垛占地面积、所有垛的总占地面积。它还能自动将码垛高度与输入的仓库高度进行对比并给出是否超高的提示。Python爆仓预警脚本解决了库管进货时爆仓的问题解决了核算码垛效率低的问题解决了码垛超高的问题让库管能在有限的空间里放下更多的货。同时这个脚本运用了Python函数位置参数的语法知识能让你在实战练手中熟练掌握Python函数位置参数的用法。如果你读到了这里相信你已经赢了一大半还在被仓库爆仓、核算码垛效率低、码垛超高困扰以及还没学到Python函数位置参数语法知识、还没读到这篇文章的人。专栏下篇预告在专栏中下篇文章将继续讲解利用Python函数语法知识解决库存管理痛点的干货。如果你觉得我的文章对你有帮助、让你收益多多或者你喜欢我的文章那么请动一动你宝贵的手指点赞、收藏、转发、关注。你的支持是我继续创作的动力。关注我我会发布更多关于编程软件的安装与使用和Python及其他编程语言的语法知识、基础语法痛点突破、实战干货等内容。如果你在库存管理方面存在痛点或者对我的文章有疑问欢迎来到评论区聊聊。