第一百二十五期:程序员的自我救赎,使用Python开发性格分析工具

如此不均衡的贫富差距,各行业的领导者如何能管理好公司,让员工们既努力产出,又能安于现状呢?每个领导者必学的一门课程就是职场心理学。只有你充分了解员工心理与对应的行为表现,才能从容的掌控各类型的人员,从而达到“物尽其用”。

作者:清风Python

如此不均衡的贫富差距,各行业的领导者如何能管理好公司,让员工们既努力产出,又能安于现状呢?每个领导者必学的一门课程就是职场心理学。只有你充分了解员工心理与对应的行为表现,才能从容的掌控各类型的人员,从而达到“物尽其用”。

那么职场心理学到底学习什么?

九型人格

九型人格是一个近年来倍受国际著名大学MBA学员推崇的课程之一,近十几年来已风行欧美学术界及工商界。

全球500强企业的管理阶层均有研习九型性格,并以此培训员工,建立团队,提高执行力。在当代,它对于企业的前期规划、战略确定、教练指导、企业培训等方面,九型人格有很大的优势。

九型人格不仅仅是一种精妙的性格分析工具,更主要的是为个人修养、自我提升和历练提供更深入的洞察力。

俗话说:“龙生九子,子子不同”。通过九型人格的性格分析工具,将性格心理与行为划分为九类。再对不同性格的人群进行研究分析,找到每一类人最适合岗位与职责。这就是领导者们运筹于帷幄之中,决胜于千里之外的筹码。

人为刀俎,我为鱼肉。不想受制于领导者们的掌控,首先要了解自身的人格分类,才能完善自己的不足。这该如何下手?作为程序员,让我们用代码完成自我的救赎吧!

代码改变世界

刚刚过去的华为HR事件,给我印象最深的不是各阶层的矛盾,而是那位HR说的一句话:

在每位开发的心中,都曾有着一个代码改变世界的愿望!

程序员的自我救赎,使用Python开发性格分析工具

那么今天,我们就用Python开发一套九型人格性格分析工具。用以让更多的人,了解自己的性格分类!

既然是九型人格分析,首先我们需要拿到它的测试题。

测试题总共36道,通过各场景下的行为表现,最终分析出你最接近的人格分类。现在题有了,如何做出测试题呢?我选择使用Python的tkinter模块,将测试题开发为一个可执行的exe工具,说干就干!

基础准备

为了能将代码打包成单独的可执行文件,我们需要先准备测试题与对应的答案,然后提前存储在代码中。我们需要进行相关拆分,这种苦力活就交给拥有雷锋精神的我来完成吧:

程序员的自我救赎,使用Python开发性格分析工具

界面开发

界面无需太过复杂,提供说明、题目、选项作答、题目切换与操作按钮即可。当然,交卷后,需要显示用户的测试结果,那么开始吧!

30 minutes later…完成!

# coding:utf-8 from tkinter import * import Enneagram_Exam import Enneagram_Result import tkinter.messagebox # 自测说明 Standard = '此份问卷共有36道测试题目,请在每题中选择你认为最恰当或者最接近描述自己的性格行为的句子,\n' \ '请全部作答,最高分的项目很可能成为你的基本性格型态。' # 人格类型矩阵 Style_Dict = [ {3: 2, 6: 2, 10: 2, 15: 2, 19: 1, 22: 2, 28: 2, 32: 2}, {1: 1, 6: 1, 12: 1, 17: 2, 20: 1, 23: 1, 29: 1, 33: 1}, {4: 1, 7: 1, 10: 1, 14: 2, 23: 2, 26: 2, 30: 1, 34: 1}, {2: 1, 8: 2, 12: 2, 16: 1, 21: 2, 24: 1, 28: 1, 34: 2}, {1: 2, 4: 2, 13: 1, 16: 2, 19: 2, 25: 1, 31: 1, 36: 1}, {5: 1, 9: 2, 14: 1, 18: 1, 21: 1, 25: 2, 29: 2, 32: 1}, {2: 2, 7: 2, 11: 2, 18: 2, 22: 1, 27: 2, 33: 2, 36: 2}, {3: 1, 9: 1, 13: 2, 17: 1, 24: 2, 27: 1, 20: 2, 35: 2} ] class ExamPage: def __init__(self, master=None): self.root = master # 用户结果集 self.user_result = {} self.status = 1 self.All_Exam = Enneagram_Exam self.normal_choice = IntVar() self.start_exam() # 上一题方法 def before(self): if self.normal_choice.get() != 0: self.user_result[self.status] = self.normal_choice.get() if self.status > 1: self.status -= 1 self.body.grid_forget() self.main_exam() else: tkinter.messagebox.showwarning("提示:", message="请先选择答案!") # 下一题方法 def after(self): if self.normal_choice.get() != 0: self.user_result[self.status] = self.normal_choice.get() if self.status < len(Enneagram_Exam.Exam): self.status += 1 self.body.grid_forget() self.main_exam() else: tkinter.messagebox.showwarning("提示:", message="请先选择答案!") # 获取当前题目 def exam_files(self, num): return list(map(lambda x: x.split('.'), self.All_Exam.Exam[num - 1].strip().split('\n'))) # 交卷 def hand_paper(self): self.user_result[self.status] = self.normal_choice.get() if len(self.user_result) != 36: tkinter.messagebox.showwarning("提示:", message="您还有未完成的测试题!") else: self.exam_result = LabelFrame(self.root, text="测试结果", padx=10, pady=10, fg="red", font=("黑体", '11')) self.exam_result.grid(padx=10, pady=5, sticky=NSEW) sc = Scrollbar(self.exam_result) sc.grid(row=0, column=1, sticky=NS) result_info = Text(self.exam_result, font=("黑体", '11'), width=85, yscrollcommand=sc.set) result_info.grid(row=0, column=0, sticky=NSEW) sc.config(command=result_info.yview) all_num = [] for style in Style_Dict: calc_num = list( point for point in self.user_result if point in style and self.user_result[point] == style[point]) if calc_num == None: all_num.append(0) else: all_num.append(len(calc_num)) user_type = all_num.index(max(all_num)) for line in Enneagram_Result.Result[user_type]: result_info.insert(END, line) # 启动测试所需控制按钮 def start_exam(self): self.title = LabelFrame(self.root, text="自测说明", padx=10, pady=10, fg="red", font=("黑体", '11')) self.title.grid(padx=10, pady=5) note = Label(self.title, text=Standard, justify=LEFT, font=("黑体", '11')) note.grid() self.show = LabelFrame(self.root, text="选项", padx=10, pady=10, fg="red", font=("黑体", '11')) self.show.grid(padx=10, pady=5, sticky=EW) go_back = Button(self.show, text="上一题", width=8, command=lambda: self.before()) go_back.grid(row=4, column=0, padx=5, pady=10) to_forword = Button(self.show, text="下一题", width=8, command=lambda: self.after()) to_forword.grid(row=4, column=1, padx=5, pady=10, sticky=E) hand_in = Button(self.show, text="交卷", width=8, command=lambda: self.hand_paper()) hand_in.grid(row=4, column=2, padx=5, pady=10, sticky=E) exit_sys = Button(self.show, text="退出", width=8, command=lambda: sys.exit()) exit_sys.grid(row=4, column=3, padx=5, pady=10, sticky=E) self.main_exam() # 测试题主界面 def main_exam(self): self.normal_choice.set(0) self.body = LabelFrame(self.root, text="测试题  第%s题,剩余%s题" % (self.status, (len(Enneagram_Exam.Exam) - self.status)), padx=10, pady=10, fg="red", font=("黑体", '11')) self.body.grid(padx=10, pady=5, sticky=EW) for option, choice in self.exam_files(self.status): authority_choice = Radiobutton(self.body, text=choice, variable=self.normal_choice, value=option) authority_choice.grid(row=option, sticky=W) Label(self.body, text="  第%s道题,用户选择的结果是:" % self.status, fg="red", font=("黑体", '11')).grid(row=3, column=0, sticky=W) Label(self.body, textvariable=self.normal_choice).grid(row=3, column=0, sticky=E) 

剩余的练习题与答案代码,就不在这里赘述了。

对于一位程序员的审美,大家要求别太高,重点来关注下功能实现吧!当然在此之前我们需要先将代码打包为exe工具,大小8MB。

程序员的自我救赎,使用Python开发性格分析工具

功能OK了,现在不要打扰我,我要做题了!

我的答案是完美型,处女座总是在追求完美的路上跟自己死磕,哎…活得好累。

阅读目录(置顶)(长期更新计算机领域知识)

阅读目录(置顶)(长期更新计算机领域知识)

阅读目录(置顶)(长期科技领域知识)

歌谣带你看java面试题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

笛卡尔乘积算法的体现

一个商品有多项属性&#xff0c;多项属性的组合就产生不同的商品型号如&#xff1a;衣服&#xff1a;颜色&#xff1a;红、绿尺寸&#xff1a;大、中、小产生的系列就有&#xff1a;红|大、红|中、红|小、绿|大、绿|中、绿|小如果商品的属性不至两个&#xff0c;则产生的系列会…

知识图谱基础

本系列是学习七月算法知识图谱课程的笔记。感觉自己完全就是一个托儿。前面七月算法机器学习&#xff0c;七月算法深度学习的笔记。现在又来了知识图谱课程的笔记。 文章目录1 why知识图谱2 知识图谱前世今生3 知识图谱相关技术4 知识图谱应用案例1 why知识图谱 没有知识图谱&…

第一百二十六期:代码以外的生存之道,献给每位入了坑的码农

本篇内容主要是对这本书的一个总结概括&#xff0c;也希望能用作抛砖引玉&#xff0c;让读者在看完之后&#xff0c;对这本书有所兴趣&#xff0c;或者希望能让读者对代码以外的需要做的事情更加积极明朗一点。 作者&#xff1a;码农三哥 前言 最近刚刚读完了一本书&#xf…

DataDirectory是什么?

asp.net 2.0有一个特殊目录app_data,通常Sql server 2005 express数据文件就放在这个目录&#xff0c;相应的数据库连接串就是&#xff1a;connectionString"…… data source.\SQLEXPRESS;Integrated SecuritySSPI;AttachDBFilename|DataDirectory|data.mdf;User Instanc…

【UOJ 51】最接近神的人

【题目描述】&#xff1a; 破解了符文之语&#xff0c;小FF开启了通往地下的道路。当他走到最底层时&#xff0c;发现正前方有一扇巨石门&#xff0c;门上雕刻着一幅古代人进行某种活动的图案。而石门上方用古代文写着“神的殿堂”。小FF猜想里面应该就有王室的遗产了。但现在的…

知识图谱存储与搜索

本系列是学习七月算法知识图谱课程的笔记 知识图谱存储是一个技术活。根据数据量以及关系复杂程度可能会选择不同的介质。课程里面直接用了neo4j。 讲了neo4j安装、语法、建库、添加数据、导入数据、查询数据。 最后讲了在应用中的一些高级查询。例如朋友圈检测、欺诈团检测。…

第一百二十七期:程序员41岁创业逆袭成全美最受欢迎CEO,公司市值近200亿美金

袁征&#xff08;Eric Yuan&#xff09;在国内鲜为人知&#xff0c;却在硅谷的商业世界&#xff0c;创造了华人新的可能性——带领公司成功上市&#xff0c;成为全美国上市公司当中、美国面向全球的企业里估值最高的华人CEO。 作者&#xff1a;新芽NewSeed 导语&#xff1a;袁…

老生常谈的思考

其实这些话题还都是老生常谈的话题了&#xff0c;经常在我的博客上面说这些东西。最近一段时间来我确实比较痛苦&#xff0c;在人生最迷茫的时候经历一场感情风波&#xff0c;可能让我这个人有些显得颓废崩溃。这段时间谢谢温温等其他一些博客园好友的宽慰&#xff0c;劝解&…

词汇挖掘与实体识别(未完)

文章目录1 概述2 词汇挖掘2.1 关键词提取2.1.1 基于特征统计2.1.2 基于主题模型2.1.3 Text-Rank算法提取2.2 同义词挖掘2.2.1 同义词类型2.2.2 挖掘2.3 缩略词挖掘2.4 新词挖掘3 实体识别(NER)3.1 基于概率图模型3.2 基于深度学习1 概述 实体&#xff1a;是文本中的一些词汇或…

第一百二十八期:推荐几个IDEA插件,Java开发者撸码利器,你get到了吗

一款热部署插件&#xff0c;只要不是修改了项目的配置文件&#xff0c;用它都可以实现热部署。收费的&#xff0c;破解比较麻烦。不过功能确实很强大。 作者&#xff1a;编程届java员 JRebel for IntelliJ 一款热部署插件&#xff0c;只要不是修改了项目的配置文件&#xff…

jeecg流程梳理学习

jeecg 流程梳理 角色admin 管理员 fgld学校分管领导 bgs学校办公室 xbld系部领导 xbky系部科员jxky bmld部门领导 发文申请applyUserIdadmin${assigneeUserId} 并行cgAutoListController.do?list&idjfrom_huiq顺会签cgAutoListController.do?list&idsx_huiqian 加班申…

lighttpd,thttpd,shttpd - 轻量级WebServer介绍

lighttpd,thttpd,shttpd - 轻量级WebServer介绍 lighttpd,thttpd,shttpd - 轻量级WebServer介绍 Filed under: lighttpd, Web Server, thttpd — allen 8:27 pm 转自 Zhiqiang::He 博客. 国内绝大部分的web server不是IIS就是Apache&#xff0c;而论市场占有率&#xff0c;我认…

spring mvc学习(35):restful的put

创建maven项目就不说了&#xff0c;需要的找我前面的博客 pom.xml文件 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http…

一、词向量模型

因为计算机不能理解词语&#xff0c;所以我们需要用词向量表示一个词。 词向量有一个发展历程&#xff1a;从one-hot到word embedding。 1 one-hot 设词典的大小为n&#xff08;词典中有n个词&#xff09;&#xff0c;假如某个词在词典中的位置为k&#xff0c;则设立一个n维向…

【广告】我妹妹导演的毕设——数字传媒摄影作品

我妹妹涂华思宇导演的作品&#xff0c;也是她的本科毕业设计&#xff5e; https://www.xinpianchang.com/a10452218 欢迎各位点击&#xff01; 涂华思宇,initiated四川文化艺术学院 2019/6/30 tz,postedcroplab,HZAU 2019/7/16转载于:https://www.cnblogs.com/acm-icpcer/p/111…

spring mvc学习(36):jstl的jar包的下载

1. 我们在使用spring框架的时候导入jstl标签库需要使用到jstl的jar包&#xff0c;假如没有加入到eclipse的lib目录下&#xff0c;使用alt /的时候不会有提示&#xff0c;所以我们需要把这个jar包加进来 首先登陆网址&#xff1a;http://tomcat.apache.org/taglibs/ 找到下面的…

同学的QQ群上

这是去年5月25日事情&#xff0c;现在看着还挺逗 一个新上任的管理员突然很郁闷发言说道“还没踢过人呢&#xff0c;哪个同学能让我踢一下&#xff1f;”立即有2个响应者&#xff0c;这2个同样是管理员&#xff0c;但也同样没有踢过人的经验&#xff0c;对此极感兴趣。于是遍寻…

二、语言模型

文章目录1 语言模型2 语言模型评价指标&#xff1a;Perplexity3 基于神经网络的语言模型3.1 RNN3.2 LSTM3.3 GRU4 优化函数5 模型代码6 用途与评价1 语言模型 语言模型的任务是判断一句话出现的概率&#xff08;也就是说一句话是不是人说的&#xff09;&#xff0c;可以表示为…

spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)

EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <% %> j2ee1.4以前版本需指定<% page isELIgnored"false"> j2ee1.4以后版本默认支持EL表达式 1.EL内置对象 EL内置11个对象,不需定义可直接使用 pageS…

[计划]二〇〇七年年度计划

2007年终于到了&#xff0c;同时也是我们该规划这一年的时候了。不虚度此生&#xff0c;就从现在开始&#xff01; 完成去年计划中的研究生入学考试&#xff1b; 完善目前的"智能英语单词学习"项目&#xff1b; 完成"博客管理系统"项目&#xff1b; 完成&…