MBTI(Myers-Briggs Type Indicator,迈尔斯-布里格斯性格分类指标)是全球最流行的人格测评工具之一,由凯瑟琳·库克·布里格斯和伊莎贝尔·布里格斯·迈尔斯母女于20世纪40年代开发。其理论源自心理学家卡尔·荣格的“心理类型学说”,旨在通过四个维度将人的性格划分为16种类型,帮助人们更好地理解自己与他人的行为模式、思维偏好和决策方式。社交媒体上如今MBTI性格测试特别火,MBTI测试小程序也非常多。其实你只要略懂代码,然后在极速数据上申请性格测试接口就可以手搓MBTI性格测试小工具。
小工具采用的是python工具,你需要安装一下python程序,推荐安装python3.7及以上。然后用到requests,需要安装一下requests模块。
极速数据性格测试接口提供“获取问题”和“获取答案”两个子接口,将这两个子接口封装成方法
# 获取题目 def get_questions(appkey, version): url = 'https://api.jisuapi.com/character/questions' params = { 'appkey': appkey, 'version': version } response = requests.get(url, params=params) return response.text
# 获取答案 def get_answer(appkey, version, answer): url = 'https://api.jisuapi.com/character/answer' params = { 'appkey': appkey, 'version': version, 'answer': answer } response = requests.get(url, params=params) return response.text
主程序则先调用获取题目的方法,然后遍历出题目,再根据输入的A或者B选项拼接成结果传送到获取答案的子接口获取MBTI的性格结果,中间为了避免出现错误输入,用方法make_ansmwer格式化输入结果,如果错误输入则回调重新输入
# 处理输入的答案 def make_answer(): while True: answer = input("请选择A或B:").strip().upper() if answer == 'A': return '1' elif answer == 'B': return '2' else: print("无效输入,请重新选择。")
# 获取MBTI def make_mbti(appkey, version): questions_json = get_questions(appkey, version) questions = json.loads(questions_json) answers = [] for question in questions['result']: print("----------------------------------") print(str(question['id']) + ':' + question['question']) print("A:"+question['answer1']) print("B:"+question['answer2']) answer = make_answer() answers.append(question['type'+answer]) answer_json = get_answer(appkey, version, ','.join(answers)) result = json.loads(answer_json) return result
最后执行make_mbti方法,输出性格测试结果,可以选择标准版本“full”或者简化版本“simple”
#执行获取MBTI answer = make_mbti('your_appkey', 'full') print("----------------------------------\n") print("您的MBTI是:" + answer['result']['type']) print("----------------------------------\n") print("类型是:" + answer['result']['name']) print("----------------------------------\n") print("性格简介:" + answer['result']['summary']) print("----------------------------------\n") print("性格特征:" + answer['result']['characteristic']) print("----------------------------------\n") print("性格适合的职业领域:" + answer['result']['field']) print("----------------------------------\n") print("性格适合的职业:" + answer['result']['job']) print("----------------------------------\n") input("按任意键继续...")
是不是非常容易,这是题主测试的结果,至于准不准就见仁见智了。赶紧自己动手做一个吧。
© 2015-2025 杭州极速互联科技有限公司 版权所有 浙ICP备17047587号-4 浙公网安备33010502005096 增值电信业务经营许可证:浙B2-20190875