python 实现九型人格测试小程序
用python实现九型人格测试,并把测试结果绘制成饼图,实现代码如下:
# @Description: 九型人格
import xlrd, matplotlib.pyplot as plt
data = xlrd.open_workbook(r'E:\python_script\nine.xlsx')
table = data.sheets()[0] checkout = []#存储题号
labs = [] #存储九种性格
sizes = [] #存储大小
explode=[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]#每块之间的间隙
with open('ninp.txt', encoding='utf-8') as f:
f.seek(0)
rule = eval(f.read())
f.close()
for i in range(table.nrows):
if table.row_values(i)[2] == 1: # 如果选中的是1 则把题号存入checkout
checkout.append(int(table.row_values(i)[0]))
for i in checkout:
for j in rule:
if i in rule[j]['QNO']: # 如果题号在规则中,则size +1
rule[j]['size'] += 1
for x in rule:
labs.append(x)
sizes.append(rule[x]['size'])
plt.figure(figsize=(12,6))
plt.title("My Test Result \n")
colors=['lightgreen','gold','lightskyblue','lightcoral','red','blue','yellow','darkgreen','purple']
plt.pie(sizes,explode=explode,labels=labs,colors=colors,
labeldistance=1.1,autopct='%3.1f%%',shadow = False,
startangle=90,pctdistance=0.6)
plt.axis('equal')
plt.legend()
plt.show()
运行结果如下:

ninp.txt里存储的规则字典格式如下:
{
"Perfect":{'QNO':[2,14,55,57,60,63,73,81,87,91,97,102,104,106],'size':0},
"Helping":{'QNO':[6,8,22,30,69,71,79,82,85,86,89,90],'size':0},
"Achievement":{'QNO':[20,33,38,59,65,67,70,72,74,77,80,93],'size':0},
"Ego":{'QNO':[7,13,17,52,53,54,56,58,61,64,100,105],'size':0},
"Observation":{'QNO':[3,19,23,32,42,43,47,48,51,83,88,99,101],'size':0},
"Loyal":{'QNO':[9,10,26,29,31,35,37,45,46,68,75],'size':0},
"Hedonism":{'QNO':[4,16,18,21,28,49,78,92,103],'size':0},
"Leading":{'QNO':[5,11,24,27,40,44,50,66,76,84,95,96],'size':0},
"Peace":{'QNO':[1,12,15,25,34,36,39,41,62,94,98,107,108],'size':0}
}
nine.xlsx文件题目及测试结果内容如下:

python 实现九型人格测试小程序的更多相关文章
- python爬取微信小程序(实战篇)
python爬取微信小程序(实战篇) 本文链接:https://blog.csdn.net/HeyShHeyou/article/details/90452656 展开 一.背景介绍 近期有需求需要抓 ...
- Python爬取微信小程序(Charles)
Python爬取微信小程序(Charles) 本文链接:https://blog.csdn.net/HeyShHeyou/article/details/90045204 一.前言 最近需要获取微信小 ...
- Python flask构建微信小程序订餐系统
第1章 <Python Flask构建微信小程序订餐系统>课程简介 本章内容会带领大家通览整体架构,功能模块,及学习建议.让大家在一个清晰的开发思路下,进行后续的学习.同时领着大家登陆ht ...
- Python flask构建微信小程序订餐系统☝☝☝
Python flask构建微信小程序订餐系统☝☝☝ 一.Flask MVC框架结构 1.1实际项目结构 1.2application.py 项目配置文件 Flask之flask-script模块使 ...
- Python flask构建微信小程序订餐系统✍✍✍
Python flask构建微信小程序订餐系统 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题, ...
- python实现串口通讯小程序(GUI界面)
python实现串口通讯小程序(GUI界面) 使用python实现串口通讯需要使用python的pyserial库来实现,这个库在安装python的时候没有自动进行安装,需要自己进行安装. 1.安装p ...
- 利用Python代码编写计算器小程序
import tkinter import tkinter.messagebox import math class JSQ: def __init__(self): #创建主界面 self.root ...
- WordCount 优化版测试小程序实现
Stage1:代码编写+单元测试 Github地址: https://github.com/245553473/wcPro.git PSP表格: PSP PSP阶段 预估耗时(分钟) 实际耗时(分钟) ...
- python -----一个简单的小程序(监控电脑内存,cpu,硬盘)
一个简单的小程序 用函数实现!~~ 实现: cpu 使用率大于百分之50 时 , C 盘容量不足5 G 时, 内存 低于2G 时. 出现以上其中一种情况,发送自动报警邮件! 主要运用 到了两个 模 ...
随机推荐
- php中session入memcached
1.使用memcache扩展,提供的session处理器(session.save_handler) memcahe即可. 通过存储位置配置项(session.save_path),设置使用的memc ...
- 面向对象设计模式纵横谈:Bridge 桥接模式(笔记记录)
桥接模式是一个比较难理解的设计模式,设计和分析的时候也不容易把握,咱们听听“李建忠”老师是怎么来讲的.我们还是从演变的角度来说问题,一步一步的来把问题说清楚.先谈谈“抽象”和“实现”的关系. 抽象与实 ...
- DB2锁机制
相比较Oracle来说,DB2的锁机制麻烦了很多,而且这个麻烦带来的不是性能的上升而是下降,不过如果细致了解的话,只能感慨不愧是数据库理论诞生的公司,在实现数据库理论上比Oracle全面得多. ...
- geoserver 开发1
打开项目,会看见下面这些包(其实还有很多插件之类的包,我都删除了) 5)可以从Eclipse启动GeoServer了. 如果你已经安装了GeoServer,现在也可以打开它的登陆页面进行操作. 三 结 ...
- php代码执行顺序
从上往下,调用类里面的方法,类放上面,调用在下面
- [BAT]远程执行或停止计划任务
执行 schtasks /run /tn "IPADForAdvisor_QA_APITest" /s SZPCWIN2K801 /u msdomain1\jzhang6 /p j ...
- 关于某一discuz 6.0论坛故障的记录
某日,额突然发现公司的discuz 6.0论坛在IE6浏览器下面显示出现问题: 每个链接都出现了下划线,很难看,不过已访问的链接(a:visted)却没有下划线,于是怀疑css.htm有问题.于是对c ...
- Android中px, ppi, dpi, dp, dip, sp概念解析
Android中px, ppi, dpi, dp, dip, sp概念解析
- Java中创建数组的几种方法
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...
- 2018.08.17 洛谷P3110 [USACO14DEC]驮运(最短路)
传送门 一道sb最短路,从两个起点和终点跑一边最短路之后直接枚举两人的汇合点求最小值就行了. 代码: #include<bits/stdc++.h> #define N 40005 #de ...