一种解决促销随机赠送商品时库存不足的思路

2019-04-04  本文已影响0人  Codmowa

前提: 赠品是个列表, 每个赠品又单独的库存属性.

      如果直接使用 随机数+下标 取到商品,当赠品较多,且库存不够的赠品也多时.会有大概率重复性取到库存不足的商品.

借鉴思路

    从一套扑克牌中随机抽一张,与从洗牌之后的扑克中按顺序抽 都是随机

解决办法

      直接对赠品列表做一个洗牌操作
      然后遍历赠品列表
      遇到库存不足的赠品 continue, 可以用的 扣除库存之后 break

伪代码

      shuffle(sku_list)
      for sku in sku_list:
          if sku.stock != condition:
              continue
          else:
              do someting
              break
上一篇 下一篇

猜你喜欢

热点阅读