# app.py import gradio as gr # 질문과 선택지 준비 questions = [ "당신은 새로운 사람들을 만날 때 주로 어떻게 행동하나요?", "정보를 처리할 때 당신은 주로 무엇을 더 신뢰하나요?", "새로운 프로젝트를 시작할 때 당신의 접근 방식은 무엇인가요?", "문제 해결 시 당신은 어떤 방식을 선호하나요?", "여가 시간을 보낼 때 당신은 무엇을 선호하나요?", "의사 결정을 할 때 중요하게 생각하는 것은 무엇인가요?", "팀 프로젝트를 할 때 당신의 역할은 주로 무엇인가요?", "새로운 아이디어나 개념을 배울 때 당신의 선호 방식은?", "스트레스를 받을 때 당신의 대처 방식은?", "목표를 달성하기 위해 당신이 가장 중요하게 여기는 것은?" ] options = [ ["새로운 사람들과 쉽게 친해진다", "새로운 사람들을 만나는 것이 어렵다"], ["구체적인 사실", "직관적인 느낌"], ["계획을 세우고 차근차근 진행한다", "유연하게 접근하고 상황에 맞춰 조정한다"], ["논리적이고 체계적인 분석", "직관과 창의적인 해결책"], ["친구들과 시간을 보낸다", "혼자서 조용히 시간을 보낸다"], ["논리적인 근거", "사람들의 감정과 가치"], ["리더십을 발휘하여 지휘한다", "팀원들과 협력하며 지원하는 역할을 한다"], ["체계적인 구조와 이론을 선호한다", "실용적인 경험과 예시를 통해 배운다"], ["문제를 해결하기 위해 적극적으로 노력한다", "감정을 표현하고 다른 사람의 도움을 구한다"], ["결과의 효율성과 성공", "과정의 의미와 가치"] ] # MBTI 유형에 따른 해석 준비 mbti_interpretations = { "INTJ": "전략가, 독창적이고 독립적인 비전을 가지고 있음", # 나머지 MBTI 유형에 대한 해석 추가... } def calculate_mbti(*answers): # 여기에 사용자의 응답을 기반으로 MBTI 유형을 계산하는 로직 구현 # 예시로, 단순히 "INTJ"를 반환하도록 설정 mbti_type = "INTJ" return mbti_interpretations[mbti_type] # Gradio 인터페이스 구성 iface = gr.Interface( fn=calculate_mbti, inputs=[gr.Radio(options[i], label=questions[i]) for i in range(len(questions))], outputs="text", title="MBTI 진단 테스트", description="10개의 간단한 질문에 답하여 MBTI 유형을 알아보세요." ) # 애플리케이션 실행 if __name__ == "__main__": iface.launch()