首页 新闻动态 技术文章

手把手教你玩转“MBTI”性格测试

发布时间:2025-04-10 17:49 点击:138

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("按任意键继续...")

是不是非常容易,这是题主测试的结果,至于准不准就见仁见智了。赶紧自己动手做一个吧。