嫁给幸福的爱 2021-11-23 10:06 采纳率: 100%
浏览 63
已结题

用python来实现分销系统中的级差分佣

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

看过你写的一个文章,是关于级差分佣系统的实现,刚好近期我正在开发级差佣金分佣系统,就像你文章所写的,也是按订单的数量来分级,佣金也是根据订单级别来设置的。而现在我是在用python来实现,这要怎么实现。

佣金等级详细列表
级别订单数佣金
一级1-1000.5元
二级101-3000.8元
三级301-6001.1元
四级601-10001.3元
五级1001-20001.5元
六级2001-50001.7元
七级5001-100001.8元
八级10001-200001.9
九级20000以上2元
问题注意点及要求

1.比如某人的订单数是200,那么他的佣金是1000.5+1000.8=130元。
2.用python来实现

我想要达到的结果

向函数里传入一个当月某人的订单数,来计算应该给他分多少佣金。

  • 写回答

1条回答 默认 最新

  • huidaoli Python领域新星创作者 2021-11-23 10:38
    关注

    问题分析:

    这个问题确实和我的文章有点类似 https://blog.csdn.net/huidaoli/article/details/121375066?spm=1001.2014.3001.5502
    但也不是完全一样:因为从你的例子中可以看出,当一个人的订单数是200单时,0-100的订单是以0.5元/单来计算,而101-300的订单是按0.8元/单来计算的。
    下面我们来用数轴分界和定位法分析,并用python代码来实现。

    实现代码:

    #!/usr/bin/python3
    
    def differential(i):
        arr = [20000,10000,5000,2000,1000,600,300,100,0]
        rat = [2,1.9,1.8,1.7,1.5,1.3,1.1,0.8,0.5]
        r = 0
        for idx in range(0,9):
            if i>arr[idx]:
                r+=(i-arr[idx])*rat[idx]
                print ((i-arr[idx])*rat[idx],i)
                i=arr[idx]
        return r
    
    n = int(input('当月订单数:'))
    differential(n)
    

    结果输出:

    上面的代码运行后将输出如下结果:

    首页会要求输入当日订单数:比如输入200
    
    当月订单数:200
        80.0 200
        50.0 100
        130.0
    

    也就是说:0-100的订单是以0.5元一单结算,101-300之间的订单是以0.8元一单结算。

    问题总结:

    其实我们不难看出,这类问题都是通过数轴来进行分界的,然后我们定位到相应的分界数轴里面,就可以实现这类的算法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 已采纳回答 11月23日
  • 创建了问题 11月23日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?