成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 開發工具
上世紀初,意大利經濟學家維爾弗雷多▪帕累托發現了一個有趣的現象:在意大利, 大約80%的財富掌握在大約20%的人手中,這在后來被概括為帕累托法則(80/20法則),即二八法則。而全球財富報告稱,中國最富有的那10%的人,擁有中國64%的財富。

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

 

 

 

[[282200]]

 

那么職場心理學到底學習什么?

九型人格

 

 

 

 

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

全球500強企業的管理階層均有研習九型性格,并以此培訓員工,建立團隊,提高執行力。在當代,它對于企業的前期規劃、戰略確定、教練指導、企業培訓等方面,九型人格有很大的優勢。

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

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

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

代碼改變世界

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

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

 

 

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

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

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

 

 

 

 

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

基礎準備

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

 

 

界面開發

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

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('九型人格測試 | 公眾號: 清風Python') 
  18. 18ExamPage(root) 
  19. 19root.mainloop() 

Enneagram_GUI.py

 

  1.  1# -*- coding: utf-8 -*- 
  2.   2# @Author   : 王翔 
  3.   3# @微信號   : King_Uranus 
  4.   4# @公眾號    : 清風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# 自測說明 
  19.  19Standard = '此份問卷共有36道測試題目,請在每題中選擇你認為最恰當或者最接近描述自己的性格行為的句子,\n' \ 
  20.  20           '請全部作答,最高分的項目很可能成為你的基本性格型態。' 
  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        # 用戶結果集 
  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="請先選擇答案!"
  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="請先選擇答案!"
  66.  66 
  67.  67    # 獲取當前題目 
  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="您還有未完成的測試題!"
  76.  76        else
  77.  77            self.exam_result = LabelFrame(self.root, text="測試結果", 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    # 啟動測試所需控制按鈕 
  97.  97    def start_exam(self): 
  98.  98        self.title = LabelFrame(self.root, text="自測說明", 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="選項", 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    # 測試題主界面 
  115. 115    def main_exam(self): 
  116. 116        self.normal_choice.set(0) 
  117. 117        self.body = LabelFrame(self.root, 
  118. 118                               text="測試題  第%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道題,用戶選擇的結果是:" % 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) 

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

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

 

 

功能OK了,現在不要打擾我,我要做題了!

 

 

 

 

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

責任編輯:華軒 來源: 清風Python
相關推薦

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

程序員

2025-01-21 07:48:28

2013-07-04 13:50:14

2015-05-04 09:48:44

JavaJava開發調試工具

2017-10-20 17:21:16

華為

2017-11-06 14:33:54

Web開發服務器網絡

2018-06-29 15:21:12

中興程序員區塊鏈

2019-11-06 19:07:38

程序員Python編程語言

2013-10-21 09:53:50

Windows 8.1微軟

2019-02-26 09:55:52

Java開發工具

2009-03-20 14:21:25

程序員性格特點生活習慣

2010-07-12 17:28:17

SharePointVS 2010

2013-06-18 17:12:03

程序員開發工具付費

2020-07-16 10:19:43

程序員技能開發者

2023-09-11 16:54:17

谷歌開發

2014-02-09 10:30:17

Python程序員工具

2010-03-15 18:39:00

Python程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品欧美久久久久久久 | 欧美视频在线播放 | 日韩精品在线看 | 日本精品免费在线观看 | 91社区在线观看播放 | 2020亚洲天堂 | 国产一级片久久久 | 国产精品久久午夜夜伦鲁鲁 | 日韩免费福利视频 | 久久神马| 亚洲天天干 | 一区二区三区四区av | 91极品欧美视频 | 国精产品一区一区三区免费完 | www.久久.com| 精品欧美激情精品一区 | www四虎影视 | 91视频三区| 日韩超碰| 国产精品一区二区不卡 | 成人午夜精品 | m豆传媒在线链接观看 | 一级黄色片毛片 | 亚洲性综合网 | 久久精品久久久久久 | 国产91久久精品一区二区 | 国产高清不卡 | 日本精品一区二区三区在线观看 | 久久中文网 | 一区视频| 久久久久久久国产精品视频 | 欧美精品tv | 亚洲精品乱码久久久久久久久久 | 中文字幕成人网 | 久久国产电影 | 国产午夜精品福利 | 成人免费看片又大又黄 | 成人免费观看男女羞羞视频 | 色播久久 | 激情久久久久 | 亚洲一区二区精品视频 |