MBTI_TEST / app.py
aliceblue11's picture
Update app.py
7450f4e verified
raw
history blame
1.41 kB
import gradio as gr
# MBTI 분석을 위한 간단한 함수
def mbti_analysis(answers):
# 각 성격 지표에 대한 점수 계산
extroversion = sum(answers[:5])
introversion = sum(answers[5:10])
sensing = sum(answers[10:15])
intuition = sum(answers[15:20])
# 각 성향에 대한 퍼센트 계산
e_percentage = (extroversion / (extroversion + introversion)) * 100
i_percentage = 100 - e_percentage
s_percentage = (sensing / (sensing + intuition)) * 100
n_percentage = 100 - s_percentage
# 성향 결정
if e_percentage > i_percentage:
e_or_i = "E"
else:
e_or_i = "I"
if s_percentage > n_percentage:
s_or_n = "S"
else:
s_or_n = "N"
# 성격 유형 결과 출력
return f"외향형: {e_percentage:.2f}%, 내향형: {i_percentage:.2f}%\n감각형: {s_percentage:.2f}%, 직관형: {n_percentage:.2f}%"
# Gradio 인터페이스 구성
questions = [
"새로운 사람들과 어울리는 것을 즐깁니까?",
"혼자 있는 시간이 나를 충전시킵니까?",
# 추가 질문 18개...
]
inputs = [gr.Slider(1, 5, label=q) for q in questions]
demo = gr.Interface(
fn=mbti_analysis,
inputs=inputs,
outputs="text",
title="MBTI 분석기",
description="MBTI 성격 유형을 분석하여 결과를 퍼센트로 보여줍니다."
)
demo.launch()