【Python】国际标准情商EQ测试
上一节:
<<【Python Socket编程之聊天机器人(源码)>>
最近有点忙,没有及时更新多多见谅。今天教大家用代码玩玩小测试。最下方有“”彩蛋“”!
引导语:美国心理学家认为:在人的成功的诸多主观上的因素里面,智商(IQ)因素大约占20%,而情商(EQ)则占80%左右。
情商包括以下几个方面的内容:一是认识自身的情绪。因为只有认识自己,才能成为自己生活的主宰。二是能妥善管理自己的情绪。即能调控自己;三是自我激励,它能够使人走出生命中的低潮,重新出发。四是认知他人的情绪。这是与他人正常交往,实现顺利沟通的基础;五是人际关系的管理。即领导和管理能力。
问题分析 传说中的0和1
简介
这是一组欧洲流行的测试题,可口可乐公司、麦当劳公司、诺基亚分司等世界500强众多企业,曾以此为员工EQ测试的模板。帮助员工了解自己的EQ状况。共33题,测试时间15分钟,最大EQ为174分。如果你已经准备就绪,请点击阅读原文开始测试。
如何用代码实现
要实现这种问答类型的代码,首先要变量来保存题目、保存答案、保存用户选择了什么、也要根据用户的选择计算分数,最后还要统计一下用户的总分。
关于题目
我觉得我们学过了列表、元组、字典,这三个都可以保存大量数据。我选择使用字典,可以自己来定义数据类型。把题目、答案、选项、分数都保存在一个字典里面,那一个键值就是一个完整的题目,这样这个字典大概就有33个键值啦。
其实,字典类似于一些API接口返回来的数据,Json数据。方便读取、保存,所以今天也是额外教一教json数据咯。
关于分数
这里要定义一个全局变量来保存分数。什么是全局变量,就是在这个程序里,无论哪里都可以使用的变量。你如果只在函数里面定义变量,它称为局部变量,那它的值只能在这个函数里有效,其他地方就无效。所以使用全局变量。
你也需要用代码确认用户输入的选项是什么,你根据选项来计算分数。
写出思路
把大概思路记下来,然后开始编码。
开始编码
注释
根据思路,写好注释,一步一步来解决问题
定义字典
字典里的q用来保存题目,abc分别保存选项,s保存各选项的分数,因为C计算0分,所以就不用多加一个c进来啦。
上图只是一题,那么本次测试有33题,所以这个字典有三十三个。
…
还有,因为分数计算的不同,需要把它划分成四个小组,所以在外层在嵌套一个字典。
为所以最后我们定义好的字典长这样:
这样所有的题目、答案、分数值都在这个字典里面了,要用的时候,来查这个字典就可以啦。
获取题目
这个print函数输出来题目,%d表示数据是整型,也就是题目的编号,就是后面的time+1。%s表示数据是字符串,就是后面的q[0][time][‘q’],这个就是根据你定义的字典,来获取题目:q表示你定义的字典q,[0]表示获取第一组的数据,[time]表示根据当前题目的标号,获取第一组里面的第几个数据,[‘q’]就是获取数据里面的题目信息啦。
那么这个也好理解,就是输出A、B、C各个选项啦。q[0][time][‘a’]表示获取A选项的数据,q[0][time][‘b’]表示获取B选项的数据,q[0][time][‘c’]表示获取C选项的数据.
所以这个获取题目的函数我们这样写:
因为之前根据分数计算,将字典分成了四个部分,所以这里要判断题目进行到了哪一题,然后获取相应的数据。
计算分数
这里的global score就是全局变量,表示这个函数里面用到的score都是全局变量。
然后用input获取用户输入的值,只要值不等于C, 就进行加分,等于C就不作什么,因为等于C,就是加上0。
q[0][x][‘s’][a] 表示获取字典里面第一组数据里面,第x条数据里面的‘s’里面的用户输入的选项的分数,然后总分数加上这个选项所得的分数。
获取结果
同样要声明一下这里的score是使用全局变量,然后输出用户的分数,输出百分比。然后根据用户的分数,输出不同的结果。很简单。
主程序
首先,定义全局变量
然后,别的地方才可以使用这个score全局变量,初始值为0,后面一题一题的加。
调用之前定义的函数,先获取题目,然后计算分数
所以主程序就是这么简单
开始测试
运行一下代码,看看有没有跟预期的一样。
这里只能输入小写,只能输入abc,否则就会报错,所以有时间有技术的你,也可以加一些代码,让这个程序更加优化。
python完整程序
不好意思都没分享源文件给你们,如果需要源码,请在米饭联盟公众号后台回复源码,每次的代码我都会上传到那里,有需要的请自取。
为了你们玩耍,我还花了点时间,特定写了个网页,让你们玩玩,请点击下方的阅读原文,进行体验哦。