File size: 1,330 Bytes
e140027
 
77c17c9
e140027
77c17c9
 
 
 
 
e140027
 
77c17c9
 
 
 
 
 
 
 
 
 
 
7450f4e
77c17c9
 
 
 
 
e140027
77c17c9
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import gradio as gr

# 질문 설정 (20개 이상)
questions = [
    "나는 다른 사람들과 함께 있을 때 에너지를 얻는다.",
    "나는 주로 큰 그림을 보는 것을 선호한다.",
    "나는 결정을 내릴 때 논리와 사실에 기반한다.",
    "나는 미리 계획을 세우는 것을 좋아한다.",
    # 더 많은 질문들을 여기에 추가합니다...
]

# 결과 계산 로직
def calculate_mbti(responses):
    e_score = sum([responses[i] for i in [0]]) # E/I 관련 질문들에 대한 점수 합산
    i_score = sum([responses[i] for i in [1]])
    # 동일한 방식으로 다른 차원(N/S, T/F, J/P)에 대한 점수 계산
    
    mbti_type = ""
    mbti_type += "E" if e_score > i_score else "I"
    # 다른 차원에 대한 계산 추가
    
    return mbti_type

# Gradio 인터페이스
def create_interface():
    inputs = [gr.Radio(choices=["매우 아니다", "아니다", "보통이다", "그렇다", "매우 그렇다"], label=questions[i]) for i in range(len(questions))]
    interface = gr.Interface(fn=calculate_mbti, inputs=inputs, outputs="text", title="MBTI 분석기", description="20개 이상의 질문에 답하고 당신의 MBTI 유형을 확인하세요!")
    return interface

# 인터페이스 실행
interface = create_interface()
interface.launch()