嫁给幸福的爱 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 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分