因为强制要求考核绩效,为了大家雨露均沾,考虑制定平均的绩效方案

比较挫的用了穷举,跑起来很慢啊...

# -*- coding:utf-8 -*-'''
用来计算指定季度,指定绩效评分类型,平均绩效方案
'''class check_list:def __init__(self,season=4):self.get_list=set()self.season=seasonself.target=Noneself.count=0def job(self,list_a,result=()):'''计算所有可能的绩效排列方案,结果存储在self.get_list中,去重'''if(len(list_a)==1):result += (list_a[0],)self.get_list.add(result)else:for i in range(len(list_a)):a_bak=list_a[:]del a_bak[i]self.job(a_bak,result+(list_a[i],))def count_score(self,list_a):'''用来计算绩效方案的方差值计算方法:分别计算每个人所有季度的绩效分数总和,然后计算每个人总和的方差'''i_total=len(list_a)j_total=len(list_a[0])person_score=[]for j in range(j_total):temp=0for i in range(i_total):temp+=list_a[i][j]person_score.append(temp)avg=sum(person_score)/j_totalsdsq=sum([(i-avg)**2 for i in person_score])stdev=(sdsq/(j_total-1)**0.5)#print(stdev)return stdevdef get_total_list(self,list_src,result_list=[]):'''穷举所有的排列情形,找出方差最小的绩效方案'''if(len(result_list)==self.season):self.count+=1stdev=self.count_score(result_list)if(self.target==None):self.target=[]self.target.append(result_list)self.target.append(stdev)else:if(stdev<self.target[-1]):self.target=[]self.target.append(result_list)self.target.append(stdev)#print(self.target)else:for i in list_src:if(len(result_list)>0):# 不能连续两个季度同一个人拿-1if(i.index(-1)!=result_list[-1].index(-1)):temp=result_list[:]temp.append(i)self.get_total_list(list_src,temp)else:temp=result_list[:]temp.append(i)self.get_total_list(list_src,temp)# 绩效类型
score=[2,2,1,1,1,-1]
# 绩效时长
season=4c=check_list(season)
c.job(score)
c.get_total_list(c.get_list)
print('共比较 %d 种情况' % c.count)
print(c.target)

一个小程序:计算绩效的方案相关推荐

  1. c语言计算二次函数顶点坐标,C语言编写一个求一元二次方程的实根的程序。 编辑一个小程序去做一元二次方程的求解(b^24ac)...

    导航:网站首页 > C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二次方程的求解(b^2>4ac) C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二 ...

  2. 微信外卖小程序 怎么计算与客户的距离_外卖订单少收益低?开发一个小程序皆可以提解决...

    外卖是大部分上班族解决吃饭问题的不二之选,因此近几年来外卖行业发展的如火如荼.一些商家赚了个"盆满体满",一些商家却遭遇订单数量少.收益低等问题.因此这些商家都非常想知道,怎么做才 ...

  3. 如何实现一个小程序版本的老虎机

    运营:咱们最近需要拉新用户,做个简单点的活动,就老虎机形式吧. 产品:老虎机的话比较简单,网上demo那么多随便拷贝拷贝就能用啦. 开发:来来来,你来做. 进入正题: 网上老虎机的插件挺多的,实现原理 ...

  4. 小程序工程化实践(上篇)-- 手把手教你撸一个小程序 webpack 插件,一个例子带你熟悉 webpack 工作流程...

    本文基于 webpack 4 和 babel 7,Mac OS,VS Code 小程序开发现状: 小程序开发者工具不好用,官方对 npm 的支持有限,缺少对 webpack, babel 等前端常用工 ...

  5. 微信小程序之九宫格布局方案

    2018转眼即将逝去了,由于近期在弄一个小程序的项目的原因,今天在这里记录一下小程序之九宫格布局方案,以备后期需要和相关知识温习. 对于整个小程序项目,原生开发小程序的方式这里就不多说了,官方有确切的 ...

  6. 微信小程序获取用户信息方案介绍

    背景 小程序一个比较重要的能力就是获取用户信息,也就是使用 wx.getUserInfo 接口.我们发现几乎所有的小程序都会调用这个接口.虽然我们在设计文档上有提出最好的设计是在真正要用户信息的情况下 ...

  7. Finclip车载小程序提供最优解决方案

    智能化.网联化已经成为未来汽车产业的发展趋势之一,车联网也从最初的车机系统扩展到整车的数字化,"互联网汽车"概念深入人心. 但随着车联网产业快速发展的同时,挑战和问题也随之而来. ...

  8. 300元制作一个小程序,你信了吗?

    300元制作一个小程序,你信了吗? 套路年年有,今年特别多.有个客户说他看到广告说300做个小程序,就去交了费,谁知道缴费之后对方告诉他,300是账号费,要上线还需要300的认证费,好吧,就又交了30 ...

  9. ZEGO即构科技携小程序连麦直播方案亮相GMIC

    4月26日,GMIC 2018 全球移动互联网大会在北京国家会议中心隆重开幕.作为全球规模最大.最具影响力的移动互联网行业会议,GMIC大会被认为是创新领域的窗口,见证了中国移动互联网十来年的高速发展 ...

  10. 怎么用linux设计一个小程序,“Linux”小程序发布一个月后,我们发现了什么

    原标题:"Linux"小程序发布一个月后,我们发现了什么 这一个月来,这个小程序得到了八千多人的使用,一百多位贡献者实际参与了翻译贡献,其中贡献最高的"Datura st ...

最新文章

  1. mysql4.1加密_Java版Mysql4.1之前的old_password加密算法
  2. 关于Java的常见误解
  3. dbnetlib不存在或拒绝访问_idou老师教你学Istio 16:如何用 Istio 实现微服务间的访问控制...
  4. 《CCNA路由和交换(200-120)学习指南》——2.4节认证提要
  5. 用Java解决牛客网题目JD1年终奖
  6. 桐桐的新闻系统【模拟】
  7. ubuntu 开机显示recovering journal死机的解决方法
  8. elsearch mysql实时索引_MySQL和Lucene(Elasticsearch)索引对比分析
  9. 信号处理--常用术语
  10. 虚拟机.linux.pgf90
  11. LFS : 制作分区和挂载分区
  12. SAP MIGO生产订单入库校验BADI增强MB_MIGO_BADI
  13. 删除rbd的数据后ceph空间没有释放
  14. STN32单片机学习笔记(五)-按键检测
  15. catia相合约束怎么反向_朝花夕拾—CATIA联盟一周技术聊天回顾
  16. 【贪玩巴斯】Unity3D初学圣经(一)——学习要求 Unity简单介绍 游戏引擎介绍 课程体系介绍 「1-1 到 1-4 」—— 2021年12月9日
  17. WIN10系统C盘瘦身
  18. 物资借用/归还登记表模板
  19. 一个编程菜鸟向资深攻城狮的进化之路
  20. 【模型指标】LIFT提升图

热门文章

  1. 富文本编辑器 —— 学习笔记
  2. RF自动化测试框架(一)
  3. ROS2学习笔记22--使用launch启动/监听多个node节点
  4. 开户功能遭入侵攻击,银行 App 数据安全如何保护?
  5. 《众妙之门——自由网站设计师成功之道》一1.1 迈向成功的几个必要习惯
  6. Centos Linux 和 CentOS Stream比较
  7. 【烈日炎炎战后端】计算机网络(4.2万字)
  8. Microsoft Edge浏览器使用时过滤网页广告弹窗等插件推荐---电脑初始维护
  9. 11岁发现数学新定理,13岁登日本数学会学术会议,学界大佬:他是「可敬的数学家」...
  10. IEduChina2019国际教育展在北京完美落幕