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["μ λͺ μΈ"] | |
# 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() |