Spaces:
Sleeping
Sleeping
import gradio as gr | |
# μ§λ¬Έ 리μ€νΈ | |
questions = [ | |
"μ§λ¬Έ 1: μλ‘μ΄ νκ²½μμ λΉμ μ μ΄λ»κ² νλνλμ?", | |
"μ§λ¬Έ 2: λ¬Έμ λ₯Ό ν΄κ²°ν λ λΉμ μ μ κ·Ό λ°©μμ 무μμΈκ°μ?", | |
"μ§λ¬Έ 3: μ¬κ° μκ°μ λ³΄λΌ λ λΉμ μ μ νΈλ 무μμΈκ°μ?", | |
"μ§λ¬Έ 4: κ²°μ μ λ΄λ¦΄ λ μ€μνκ² μκ°νλ κ²μ 무μμΈκ°μ?", | |
"μ§λ¬Έ 5: νλ‘μ νΈλ₯Ό μνν λ λΉμ μ μ€νμΌμ μ΄λ€κ°μ?", | |
"μ§λ¬Έ 6: μ€νΈλ μ€λ₯Ό λ°μ λ λΉμ μ λμ² λ°©μμ?", | |
"μ§λ¬Έ 7: λ€λ₯Έ μ¬λκ³Όμ κ΄κ³μμ λΉμ μ μ΄λ€ νμ μΈκ°μ?", | |
"μ§λ¬Έ 8: μλ‘μ΄ μμ΄λμ΄λ μ΄λ‘ μ μ ν λ λΉμ μ λ°μμ?", | |
"μ§λ¬Έ 9: μΌμμ μΈ κ²°μ μ λ΄λ¦΄ λ λΉμ μ μ΄λ»κ² νλμ?", | |
"μ§λ¬Έ 10: ν νλ‘μ νΈμμ λΉμ μ μν μ μ£Όλ‘ λ¬΄μμΈκ°μ?" | |
] | |
# κ°κ΄μ μ΅μ | |
options = [ | |
["κ³νλλ‘ μμ§μΈλ€", "μν©μ λ°λΌ μ μ°νκ² λμνλ€"], | |
["λ Όλ¦¬μ μΌλ‘ λΆμνλ€", "μ§κ΄μ μμ‘΄νλ€"], | |
["μΉκ΅¬λ€κ³Ό μκ°μ 보λΈλ€", "νΌμλ§μ μκ°μ μ νΈνλ€"], | |
["μ¬μ€κ³Ό λ°μ΄ν°", "μ¬λλ€μ κ°μ κ³Ό μ견"], | |
["μ² μ ν κ³νμ λ°λ₯Έλ€", "μ¦ν₯μ μΌλ‘ μμ§μΈλ€"], | |
["λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λΆμνλ€", "κ°μ μ νννκ±°λ μλ΄νλ€"], | |
["μ¬κ΅μ μ΄κ³ νλμ ", "μ‘°μ©νκ³ λ΄μ±μ "], | |
["νΈκΈ°μ¬μ κ°μ§κ³ νꡬνλ€", "μ€μ©μ μΈ μΈ‘λ©΄μ μ°μ κ³ λ €νλ€"], | |
["κ³νμ μΈμμ κ²°μ νλ€", "μ§κ°μ μΌλ‘ κ²°μ νλ€"], | |
["리λμμ λ°ννλ€", "νμμΌλ‘μ μ§μνλ€"] | |
] | |
# MBTI μ ν κ³μ° λ° μ 보 λ°ν ν¨μ | |
def calculate_mbti(*answers): | |
# MBTI μ°¨μ μ μ μ΄κΈ°ν | |
dimensions = {"E": 0, "I": 0, "S": 0, "N": 0, "T": 0, "F": 0, "J": 0, "P": 0} | |
# μ¬μ©μμ μ νμ λ°λΌ μ°¨μ μ μ μ λ°μ΄νΈ | |
for answer, (introvert, extrovert) in zip(answers, [(1, 0), (0, 1), (1, 0), (0, 1), (1, 0), (0, 1), (0, 1), (0, 1), (1, 0), (1, 0)]): | |
if answer == 0: # 첫 λ²μ§Έ μ΅μ μ ν | |
dimensions["E"] += extrovert | |
dimensions["I"] += introvert | |
else: # λ λ²μ§Έ μ΅μ μ ν | |
dimensions["S"] += extrovert | |
dimensions["N"] += introvert | |
dimensions["T"] += extrovert | |
dimensions["F"] += introvert | |
dimensions["J"] += extrovert | |
dimensions["P"] += introvert | |
# MBTI μ ν κ²°μ | |
mbti_type = "" | |
mbti_type += "E" if dimensions["E"] >= dimensions["I"] else "I" | |
mbti_type += "S" if dimensions["S"] >= dimensions["N"] else "N" | |
mbti_type += "T" if dimensions["T"] >= dimensions["F"] else "F" | |
mbti_type += "J" if dimensions["J"] >= dimensions["P"] else "P" | |
# MBTI μ νμ λ°λ₯Έ μ±κ²©μ μ₯λ¨μ κ³Ό μ λͺ μΈ λ°ν | |
mbti_details = mbti_info.get(mbti_type, {"μ₯λ¨μ ": "μ 보 μμ", "μ λͺ μΈ": "μ 보 μμ"}) | |
return mbti_type, mbti_details["μ₯λ¨μ "], mbti_details["μ λͺ μΈ"] | |
# MBTI μ νμ λν μ 보 λμ λ리 | |
mbti_info = { | |
"ESTJ": {"μ₯λ¨μ ": "μ€μ©μ μ΄κ³ νμ€μ , μ± μκ°μ΄ κ°νλ©° 리λμμ μ λ°ννλ€.", "μ λͺ μΈ": "μ‘°μ§ μμ±ν΄"}, | |
"ISTJ": {"μ₯λ¨μ ": "μ μ€νκ³ μ² μ ν λΆμλ ₯μ κ°μ§λ©° μμ μ μ΄κ³ μ λ’°ν λ§νλ€.", "μ λͺ μΈ": "μ ν λ² μ‘°μ€"}, | |
"ESFJ": {"μ₯λ¨μ ": "μ¬κ΅μ μ΄κ³ λμ μ¬μ΄ λ§μΌλ©° νλμ μνλ€.", "μ λͺ μΈ": "μ€νλΌ μν리"}, | |
"ISFJ": {"μ₯λ¨μ ": "μΆ©μ€νκ³ μ¬λ € κΉμΌλ©° μ μ€νκ³ μ±μ€νλ€.", "μ λͺ μΈ": "λ‘μ νλλ¬"}, | |
"ESTP": {"μ₯λ¨μ ": "μ μλ ₯μ΄ κ°νκ³ νλμ μ΄λ©° λ¬Έμ λ₯Ό ν΄κ²°νλ λ₯λ ₯μ΄ λ°μ΄λλ€.", "μ λͺ μΈ": "λ§λλ"}, | |
"ISTP": {"μ₯λ¨μ ": "λΆμλ ₯μ΄ λ°μ΄λλ©° μν©μ μ νμ νμ¬ μ¦ν₯μ μΌλ‘ λμ²ν μ μλ€.", "μ λͺ μΈ": "ν΄λ¦°νΈ μ΄μ€νΈμ°λ"}, | |
"ESFP": {"μ₯λ¨μ ": "λμ²μ μ΄κ³ μΉμ νλ©° μ¦κ±°μμ μ£Όλ³ μ¬λλ€κ³Ό λλλ€.", "μ λͺ μΈ": "λ§λ¦΄λ¦° λ¨Όλ‘"}, | |
"ISFP": {"μ₯λ¨μ ": "μλ₯νκ³ μ¨ννλ©° μμ μ μΈ λ©΄λͺ¨λ₯Ό κ°μ§κ³ μλ€.", "μ λͺ μΈ": "νλ¦°μ€"}, | |
"ENTJ": {"μ₯λ¨μ ": "λͺ©νμ§ν₯μ μ΄κ³ κ²°λ¨λ ₯μ΄ μμΌλ©° 리λμμ νμνκ² λ°ννλ€.", "μ λͺ μΈ": "μ€λ¦¬μ λ‘λ²μΈ "}, | |
"INTJ": {"μ₯λ¨μ ": "μ λ΅μ μ΄κ³ λ°μ΄λ λΆμλ ₯μ κ°μ§λ©° λͺ©νλ₯Ό λ¬μ±νκΈ° μν΄ λ Έλ ₯νλ€.", "μ λͺ μΈ": "μΌλ‘ λ¨Έμ€ν¬"}, | |
"ENTP": {"μ₯λ¨μ ": "μ°½μμ μ΄κ³ λ μ°½μ μ΄λ©° λ Όλ¦¬μ μΌλ‘ μ¬κ³ νλ€.", "μ λͺ μΈ": "λ³Όν λ₯΄"}, | |
"INTP": {"μ₯λ¨μ ": "λ Όλ¦¬μ μ΄κ³ λΆμμ μ΄λ©° λ μ°½μ μΈ μμ΄λμ΄λ₯Ό λ΄λλλ€.", "μ λͺ μΈ": "μλ²νΈ μμΈμνμΈ"}, | |
"ENFJ": {"μ₯λ¨μ ": "μ΄μ μ μ΄κ³ λμ μ¬μ΄ λ§μΌλ©° λ€λ₯Έ μ¬λλ€μ μ μ΄λλ€.", "μ λͺ μΈ": "λ§λ ν λ μ¬"}, | |
"INFJ": {"μ₯λ¨μ ": "μ΄ν΄μ¬μ΄ κΉκ³ ν΅μ°°λ ₯μ΄ λ°μ΄λλ©° λ€λ₯Έ μ¬λλ€μ μ΄λμ΄ κ° μ μλ€.", "μ λͺ μΈ": "λμ½λΌ ν μ¬λΌ"}, | |
"ENFP": {"μ₯λ¨μ ": "μ΄μ μ μ΄κ³ μμλ ₯μ΄ νλΆνλ©° μλ‘μ΄ μμ΄λμ΄λ₯Ό μ μνλ€.", "μ λͺ μΈ": "μνΈ λμ¦λ"}, | |
"INFP": {"μ₯λ¨μ ": "μ΄μμ£Όμμλ‘μ μ°½μλ ₯μ΄ νλΆνκ³ λ μ°½μ μ΄λ€.", "μ λͺ μΈ": "μ리μ μ °μ΅μ€νΌμ΄"} | |
} | |
# Gradio μΈν°νμ΄μ€ κ΅¬μ± | |
iface = gr.Interface( | |
fn=calculate_mbti, | |
inputs=[gr.Radio(options[i], label=questions[i]) for i in range(10)], | |
outputs=[ | |
gr.Textbox(label="λΉμ μ MBTI μ ν"), | |
gr.Textbox(label="μ νμ μ₯λ¨μ "), | |
gr.Textbox(label="λνμ μΈ μ λͺ μΈ") | |
], | |
title="MBTI μ§λ¨ ν μ€νΈ", | |
description="10κ°μ μ§λ¬Έμ λ΅νμ¬ λΉμ μ MBTI μ νκ³Ό κ·Έ μ νμ μ₯λ¨μ , λνμ μΈ μ λͺ μΈμ μμ보μΈμ." | |
) | |
# μΈν°νμ΄μ€ μ€ν | |
if __name__ == "__main__": | |
iface.launch() |