自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員的自我救贖,使用Python開(kāi)發(fā)性格分析工具

開(kāi)發(fā) 開(kāi)發(fā)工具
上世紀(jì)初,意大利經(jīng)濟(jì)學(xué)家維爾弗雷多▪帕累托發(fā)現(xiàn)了一個(gè)有趣的現(xiàn)象:在意大利, 大約80%的財(cái)富掌握在大約20%的人手中,這在后來(lái)被概括為帕累托法則(80/20法則),即二八法則。而全球財(cái)富報(bào)告稱,中國(guó)最富有的那10%的人,擁有中國(guó)64%的財(cái)富。

 如此不均衡的貧富差距,各行業(yè)的領(lǐng)導(dǎo)者如何能管理好公司,讓員工們即努力產(chǎn)出,又能安于現(xiàn)狀呢?每個(gè)領(lǐng)導(dǎo)者必學(xué)的一門課程就是職場(chǎng)心理學(xué)。只有你充分了解員工心理與對(duì)應(yīng)的行為表現(xiàn),才能從容的掌控各類型的人員,從而達(dá)到“物盡其用”。

 

 

 

[[282200]]

 

那么職場(chǎng)心理學(xué)到底學(xué)習(xí)什么?

九型人格

 

 

 

 

九型人格是一個(gè)近年來(lái)倍受國(guó)際著名大學(xué)MBA學(xué)員推崇的課程之一,近十幾年來(lái)已風(fēng)行歐美學(xué)術(shù)界及工商界。

全球500強(qiáng)企業(yè)的管理階層均有研習(xí)九型性格,并以此培訓(xùn)員工,建立團(tuán)隊(duì),提高執(zhí)行力。在當(dāng)代,它對(duì)于企業(yè)的前期規(guī)劃、戰(zhàn)略確定、教練指導(dǎo)、企業(yè)培訓(xùn)等方面,九型人格有很大的優(yōu)勢(shì)。

九型人格不僅僅是一種精妙的性格分析工具,更主要的是為個(gè)人修養(yǎng)、自我提升和歷練提供更深入的洞察力。

俗話說(shuō):“龍生九子,子子不同”。通過(guò)九型人格的性格分析工具,將性格心理與行為劃分為九類。再對(duì)不同性格的人群進(jìn)行研究分析,找到每一類人最適合崗位與職責(zé)。這就是領(lǐng)導(dǎo)者們運(yùn)籌于帷幄之中,決勝于千里之外的籌碼。

人為刀俎,我為魚(yú)肉。不想受制于領(lǐng)導(dǎo)者們的掌控,首先要了解自身的人格分類,才能完善自己的不足。這該如何下手?作為程序員,讓我們用代碼完成自我的救贖吧!

代碼改變世界

剛剛過(guò)去的華為HR事件,給我印象最深的不是各階層的矛盾,而是那位HR說(shuō)的一句話:

在每位開(kāi)發(fā)的心中,都曾有著一個(gè)代碼改變世界的愿望!

 

 

那么今天,我們就用Python開(kāi)發(fā)一套九型人格性格分析工具。用以讓更多的人,了解自己的性格分類!

既然是九型人格分析,首先我們需要拿到它的測(cè)試題。翻了很久,知道了百度文庫(kù)的測(cè)試原題:

https://wenku.baidu.com/view/19455024dd36a32d72758105.html

 

 

 

 

測(cè)試題總共36道,通過(guò)各場(chǎng)景下的行為表現(xiàn),最終分析出你最接近的人格分類?,F(xiàn)在題有了,如何做出測(cè)試題呢?我選擇使用Python的tkinter模塊,將測(cè)試題開(kāi)發(fā)為一個(gè)可執(zhí)行的exe工具,說(shuō)干就干!

基礎(chǔ)準(zhǔn)備

為了能將代碼打包成單獨(dú)的可執(zhí)行文件,我們需要先準(zhǔn)備測(cè)試題與對(duì)應(yīng)的答案,然后提前存儲(chǔ)在代碼中。我們需要進(jìn)行相關(guān)拆分,這種苦力活就交給擁有雷鋒精神的我來(lái)完成吧:

 

 

界面開(kāi)發(fā)

界面無(wú)需太過(guò)復(fù)雜,提供說(shuō)明、題目、選項(xiàng)作答、題目切換與操作按鈕即可。當(dāng)然,交卷后,需要顯示用戶的測(cè)試結(jié)果,那么開(kāi)始吧!

30 minutes later…完成!

Main.py

 

  1.  1from Enneagram_GUI import * 
  2.  2from tkinter import * 
  3.  3 
  4.  4 
  5.  5def center_window(root, width, height): 
  6.  6    screenwidth = root.winfo_screenwidth() 
  7.  7    screenheight = root.winfo_screenheight() 
  8.  8    size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2) 
  9.  9    root.geometry(size) 
  10. 10 
  11. 11 
  12. 12root = Tk() 
  13. 13 
  14. 14center_window(root, 750, 700) 
  15. 15 
  16. 16root.resizable(width=False, height=False
  17. 17root.title('九型人格測(cè)試 | 公眾號(hào): 清風(fēng)Python') 
  18. 18ExamPage(root) 
  19. 19root.mainloop() 

Enneagram_GUI.py

 

  1.  1# -*- coding: utf-8 -*- 
  2.   2# @Author   : 王翔 
  3.   3# @微信號(hào)   : King_Uranus 
  4.   4# @公眾號(hào)    : 清風(fēng)Python 
  5.   5# @GitHub   : https://github.com/BreezePython 
  6.   6# @Date     : 2019/11/12 23:12 
  7.   7# @Software : PyCharm 
  8.   8# @version  :Python 3.7.3 
  9.   9# @File     : Enneagram_GUI.py 
  10.  10 
  11.  11 
  12.  12# coding:utf-8 
  13.  13from tkinter import * 
  14.  14import Enneagram_Exam 
  15.  15import Enneagram_Result 
  16.  16import tkinter.messagebox 
  17.  17 
  18.  18# 自測(cè)說(shuō)明 
  19.  19Standard = '此份問(wèn)卷共有36道測(cè)試題目,請(qǐng)?jiān)诿款}中選擇你認(rèn)為最恰當(dāng)或者最接近描述自己的性格行為的句子,\n' \ 
  20.  20           '請(qǐng)全部作答,最高分的項(xiàng)目很可能成為你的基本性格型態(tài)。' 
  21.  21 
  22.  22# 人格類型矩陣 
  23.  23Style_Dict = [ 
  24.  24    {3: 2, 6: 2, 10: 2, 15: 2, 19: 1, 22: 2, 28: 2, 32: 2}, 
  25.  25    {1: 1, 6: 1, 12: 1, 17: 2, 20: 1, 23: 1, 29: 1, 33: 1}, 
  26.  26    {4: 1, 7: 1, 10: 1, 14: 2, 23: 2, 26: 2, 30: 1, 34: 1}, 
  27.  27    {2: 1, 8: 2, 12: 2, 16: 1, 21: 2, 24: 1, 28: 1, 34: 2}, 
  28.  28    {1: 2, 4: 2, 13: 1, 16: 2, 19: 2, 25: 1, 31: 1, 36: 1}, 
  29.  29    {5: 1, 9: 2, 14: 1, 18: 1, 21: 1, 25: 2, 29: 2, 32: 1}, 
  30.  30    {2: 2, 7: 2, 11: 2, 18: 2, 22: 1, 27: 2, 33: 2, 36: 2}, 
  31.  31    {3: 1, 9: 1, 13: 2, 17: 1, 24: 2, 27: 1, 20: 2, 35: 2} 
  32.  32] 
  33.  33 
  34.  34 
  35.  35class ExamPage: 
  36.  36    def __init__(self, master=None): 
  37.  37        self.root = master 
  38.  38        # 用戶結(jié)果集 
  39.  39        self.user_result = {} 
  40.  40        self.status = 1 
  41.  41        self.All_Exam = Enneagram_Exam 
  42.  42        self.normal_choice = IntVar() 
  43.  43        self.start_exam() 
  44.  44 
  45.  45    # 上一題方法 
  46.  46    def before(self): 
  47.  47        if self.normal_choice.get() != 0: 
  48.  48            self.user_result[self.status] = self.normal_choice.get() 
  49.  49            if self.status > 1: 
  50.  50                self.status -= 1 
  51.  51                self.body.grid_forget() 
  52.  52                self.main_exam() 
  53.  53        else
  54.  54            tkinter.messagebox.showwarning("提示:", message="請(qǐng)先選擇答案!"
  55.  55 
  56.  56    # 下一題方法 
  57.  57    def after(self): 
  58.  58        if self.normal_choice.get() != 0: 
  59.  59            self.user_result[self.status] = self.normal_choice.get() 
  60.  60            if self.status < len(Enneagram_Exam.Exam): 
  61.  61                self.status += 1 
  62.  62                self.body.grid_forget() 
  63.  63                self.main_exam() 
  64.  64        else
  65.  65            tkinter.messagebox.showwarning("提示:", message="請(qǐng)先選擇答案!"
  66.  66 
  67.  67    # 獲取當(dāng)前題目 
  68.  68    def exam_files(self, num): 
  69.  69        return list(map(lambda x: x.split('.'), self.All_Exam.Exam[num - 1].strip().split('\n'))) 
  70.  70 
  71.  71    # 交卷 
  72.  72    def hand_paper(self): 
  73.  73        self.user_result[self.status] = self.normal_choice.get() 
  74.  74        if len(self.user_result) != 36: 
  75.  75            tkinter.messagebox.showwarning("提示:", message="您還有未完成的測(cè)試題!"
  76.  76        else
  77.  77            self.exam_result = LabelFrame(self.root, text="測(cè)試結(jié)果", padx=10, pady=10, fg="red", font=("黑體"'11')) 
  78.  78            self.exam_result.grid(padx=10, pady=5, sticky=NSEW) 
  79.  79            sc = Scrollbar(self.exam_result) 
  80.  80            sc.grid(row=0, column=1, sticky=NS) 
  81.  81            result_info = Text(self.exam_result, font=("黑體"'11'), width=85, yscrollcommand=sc.set
  82.  82            result_info.grid(row=0, column=0, sticky=NSEW) 
  83.  83            sc.config(command=result_info.yview) 
  84.  84            all_num = [] 
  85.  85            for style in Style_Dict: 
  86.  86                calc_num = list( 
  87.  87                    point for point in self.user_result if point in style and self.user_result[point] == style[point]) 
  88.  88                if calc_num == None: 
  89.  89                    all_num.append(0) 
  90.  90                else
  91.  91                    all_num.append(len(calc_num)) 
  92.  92            user_type = all_num.index(max(all_num)) 
  93.  93            for line in Enneagram_Result.Result[user_type]: 
  94.  94                result_info.insert(END, line) 
  95.  95 
  96.  96    # 啟動(dòng)測(cè)試所需控制按鈕 
  97.  97    def start_exam(self): 
  98.  98        self.title = LabelFrame(self.root, text="自測(cè)說(shuō)明", padx=10, pady=10, fg="red", font=("黑體"'11')) 
  99.  99        self.title.grid(padx=10, pady=5) 
  100. 100        note = Label(self.title, text=Standard, justify=LEFT, font=("黑體"'11')) 
  101. 101        note.grid() 
  102. 102        self.show = LabelFrame(self.root, text="選項(xiàng)", padx=10, pady=10, fg="red", font=("黑體"'11')) 
  103. 103        self.show.grid(padx=10, pady=5, sticky=EW) 
  104. 104        go_back = Button(self.show, text="上一題", width=8, command=lambda: self.before()) 
  105. 105        go_back.grid(row=4, column=0, padx=5, pady=10) 
  106. 106        to_forword = Button(self.show, text="下一題", width=8, command=lambda: self.after()) 
  107. 107        to_forword.grid(row=4, column=1, padx=5, pady=10, sticky=E) 
  108. 108        hand_in = Button(self.show, text="交卷", width=8, command=lambda: self.hand_paper()) 
  109. 109        hand_in.grid(row=4, column=2, padx=5, pady=10, sticky=E) 
  110. 110        exit_sys = Button(self.show, text="退出", width=8, command=lambda: sys.exit()) 
  111. 111        exit_sys.grid(row=4, column=3, padx=5, pady=10, sticky=E) 
  112. 112        self.main_exam() 
  113. 113 
  114. 114    # 測(cè)試題主界面 
  115. 115    def main_exam(self): 
  116. 116        self.normal_choice.set(0) 
  117. 117        self.body = LabelFrame(self.root, 
  118. 118                               text="測(cè)試題  第%s題,剩余%s題" % (self.status, (len(Enneagram_Exam.Exam) - self.status)), 
  119. 119                               padx=10, pady=10, fg="red", font=("黑體"'11')) 
  120. 120        self.body.grid(padx=10, pady=5, sticky=EW) 
  121. 121        for option, choice in self.exam_files(self.status): 
  122. 122            authority_choice = Radiobutton(self.body, text=choice, variable=self.normal_choice, value=option
  123. 123            authority_choice.grid(row=option, sticky=W) 
  124. 124        Label(self.body, text="  第%s道題,用戶選擇的結(jié)果是:" % self.status, fg="red", font=("黑體"'11')).grid(row=3, column=0, 
  125. 125                                                                                                   sticky=W) 
  126. 126        Label(self.body, textvariable=self.normal_choice).grid(row=3, column=0, sticky=E) 

剩余的練習(xí)題與答案代碼,就不在這里贅述了。

對(duì)于一位程序員的審美,大家要求別太高,重點(diǎn)來(lái)關(guān)注下功能實(shí)現(xiàn)吧!當(dāng)然在此之前我們需要先將代碼打包為exe工具,大小8MB。

 

 

功能OK了,現(xiàn)在不要打擾我,我要做題了!

 

 

 

 

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

責(zé)任編輯:華軒 來(lái)源: 清風(fēng)Python
相關(guān)推薦

2019-11-14 18:47:06

Python程序員人生第一份工作

2013-07-12 10:58:16

程序員

2018-01-11 12:49:55

工具前端路由

2011-12-27 16:31:27

程序員

2015-05-04 09:48:44

JavaJava開(kāi)發(fā)調(diào)試工具

2025-01-21 07:48:28

2013-07-04 13:50:14

2017-10-20 17:21:16

華為

2017-11-06 14:33:54

Web開(kāi)發(fā)服務(wù)器網(wǎng)絡(luò)

2018-06-29 15:21:12

中興程序員區(qū)塊鏈

2019-11-06 19:07:38

程序員Python編程語(yǔ)言

2009-03-20 14:21:25

程序員性格特點(diǎn)生活習(xí)慣

2019-02-26 09:55:52

Java開(kāi)發(fā)工具

2010-07-12 17:28:17

SharePointVS 2010

2013-10-21 09:53:50

Windows 8.1微軟

2013-06-18 17:12:03

程序員開(kāi)發(fā)工具付費(fèi)

2023-09-11 16:54:17

谷歌開(kāi)發(fā)

2020-07-16 10:19:43

程序員技能開(kāi)發(fā)者

2014-02-09 10:30:17

Python程序員工具

2010-03-15 18:39:00

Python程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)