【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完整程序



不好意思都没分享源文件给你们,如果需要源码,请在米饭联盟公众号后台回复源码,每次的代码我都会上传到那里,有需要的请自取。

为了你们玩耍,我还花了点时间,特定写了个网页,让你们玩玩,请点击下方的阅读原文,进行体验哦。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值