单号 库龄 数量 A 1 5 A 3 10 A 5 15 B 2 8 B 3 10 B 6 14 C 1 9 C 4 8 python排货规则算法,在一个仓库中,如上面类型的源数据,存在多个单号,每一个相同的单号,有不同库龄和不同数量的货物,库龄大的优先出库,若某个单号每天出库10票,优先出库库龄大的,如果库龄最大的数量出完了,但是此单号还没出完10票,则开始出库龄第二大的,直到此单号出满10票为止,或者直至此单号库存为0为止,并保存库存为0的单号信息,且此单号每天入库2票,则此单号新增两票库龄为1天的货物,然后在执行下一个新单号的出库和入库需求,连续30天以此类推,最终生成一个第一列为单号,第一行为第1到第30天的库龄变化和第1到第30天库存库存数量变化的Excel表格,如下面所示,python代码怎么实现 单号 1天后库龄 2天后库龄 3天后库龄 1天后数量 2天后数量 3天后数量 A 2 3 4 4 3 2 A 4 5 6 9 8 7 A 6 7 8 14 13 12 B 3 4 5 7 6 5 B 4 5 6 9 8 7 B 7 8 9 13 12 11 C 2 3 4 8 7 6 C 5 6 7 7 6 5 A 1 2 3 1 1 1 A 0 1 2 0 1 1 A 0 0 1 0 0 1
时间: 2024-03-28 18:38:34 浏览: 61
操作系统题 2013.5.8 单号 双号题 1
这是一个比较复杂的问题,需要考虑到多个方面,包括出库规则、入库规则、库存变化等。下面是一个简单的实现思路:
1. 定义一个字典来存储所有单号的信息,包括库龄和数量等信息。
2. 每天进行出库操作,首先按照库龄从大到小排序,然后逐个单号出库,直到此单号出完10票为止。
3. 如果一个单号的数量没有出完,但是库存为0,则将此单号的库存信息保存下来,并将此单号的数量重置为0。
4. 每天进行入库操作,对于每个单号,将其数量加上2,同时将其库龄减1。
5. 按照每个单号每天的库存情况,生成一个Excel表格。
下面是一个简单的代码实现:
阅读全文