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

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

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

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

[[282361]] 

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

九型人格 

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

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

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

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

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

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

代碼改變世界

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

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

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

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

既然是九型人格分析,首先我們需要拿到它的測試題。 

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

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

基礎(chǔ)準備

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

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

界面開發(fā)

界面無需太過復(fù)雜,提供說明、題目、選項作答、題目切換與操作按鈕即可。當然,交卷后,需要顯示用戶的測試結(jié)果,那么開始吧!

30 minutes later…完成! 

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

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

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

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

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

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

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

 

責任編輯:華軒 來源: 簡書
相關(guān)推薦

2019-11-13 14:16:09

Python開發(fā)工具

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開發(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開發(fā)服務(wù)器網(wǎng)絡(luò)

2018-06-29 15:21:12

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

2019-11-06 19:07:38

程序員Python編程語言

2009-03-20 14:21:25

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

2019-02-26 09:55:52

Java開發(fā)工具

2010-07-12 17:28:17

SharePointVS 2010

2013-10-21 09:53:50

Windows 8.1微軟

2013-06-18 17:12:03

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

2023-09-11 16:54:17

谷歌開發(fā)

2020-07-16 10:19:43

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

2014-02-09 10:30:17

Python程序員工具

2010-03-15 18:39:00

Python程序員
點贊
收藏

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