Spaces:
Running
Running
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
|
3 |
+
# MBTI μ§λ¨ λ¬Έν
|
4 |
+
questions = [
|
5 |
+
"μλ‘μ΄ μ¬λλ€μ λ§λ λ μ£Όλ‘ μ κ·Ήμ μΈκ°μ?",
|
6 |
+
"μμ보λ€λ νμ€μ λ κ΄μ¬μ΄ λ§λμ?",
|
7 |
+
"κ²°μ μ ν λ λ
Όλ¦¬μ μ΄μ±μ λ μ€μνλμ?",
|
8 |
+
"κ³νμ μΈμ°λ κ²μ μ νΈνλμ, spontaneityλ₯Ό μ¦κΈ°λμ?",
|
9 |
+
"κ·Έλ£Ή λ΄μμ 리λ μν μ μμ£Ό λ§‘λμ?",
|
10 |
+
"μΈλΆ μ¬ν보λ€λ μ 체μ μΈ κ·Έλ¦Όμ λ 보λ νΈμΈκ°μ?",
|
11 |
+
"κ°μ λ³΄λ€ μ¬μ€μ κΈ°λ°μΌλ‘ μμ¬ κ²°μ μ νλμ?",
|
12 |
+
"리μ€νΈλ κ³ν μμ΄ μ¬νμ κ° μ μλμ?",
|
13 |
+
"λν보λ€λ κ΄μ°°μ μ νΈνλμ?",
|
14 |
+
"νμ μ μΈ μμ΄λμ΄λ³΄λ€λ κ²μ¦λ λ°©λ²μ μ νΈνλμ?",
|
15 |
+
"μΈκ° κ΄κ³μμ 곡κ°λ₯λ ₯μ μ€μνκ² μκ°νλμ?",
|
16 |
+
"μΌμ λ§κ° κΈ°ν μ§μ μ νλ νΈμΈκ°μ?",
|
17 |
+
"μ¬λλ€κ³Ό μ΄μΈλ¦¬κ³ λλ©΄ μλμ§λ₯Ό λλΌλμ?",
|
18 |
+
"μ΄λ‘ μ μΈ κ°λ
μ λν΄ λ°°μ°λ κ²μ μ’μνλμ?",
|
19 |
+
"νμΈμ κ°μ μ κ³ λ €νλ κ²μ΄ μ€μνλ€κ³ μκ°νλμ?",
|
20 |
+
"μΌμ κ³Ό κ³νμ λ°λ₯΄λ κ²μ μ νΈνλμ?",
|
21 |
+
"νλμ μΈ λ ν¬λ¦¬μμ΄μ
λ³΄λ€ μ‘°μ©ν μ·¨λ―Έλ₯Ό μ νΈνλμ?",
|
22 |
+
"μ€μ κ²½νμ ν΅ν΄ λ°°μ°λ κ²μ μ’μνλμ?",
|
23 |
+
"μ μμ 곡μ ν¨μ΄ λ§€μ° μ€μνλ€κ³ μκ°νλμ?",
|
24 |
+
"μ μ°μ±μ΄ κ³νμ±λ³΄λ€ λ μ€μνλ€κ³ μκ°νλμ?"
|
25 |
+
]
|
26 |
+
|
27 |
+
def mbti_predict(*answers):
|
28 |
+
scores = {'E': 0, 'I': 0, 'S': 0, 'N': 0, 'T': 0, 'F': 0, 'J': 0, 'P': 0}
|
29 |
+
|
30 |
+
for i, answer in enumerate(answers):
|
31 |
+
if answer == 'μ':
|
32 |
+
if i in [0, 4, 12, 16]: scores['E'] += 1
|
33 |
+
if i in [1, 5, 9, 17]: scores['S'] += 1
|
34 |
+
if i in [2, 6, 14, 18]: scores['T'] += 1
|
35 |
+
if i in [3, 7, 11, 15, 19]: scores['J'] += 1
|
36 |
+
else:
|
37 |
+
if i in [0, 4, 12, 16]: scores['I'] += 1
|
38 |
+
if i in [1, 5, 9, 17]: scores['N'] += 1
|
39 |
+
if i in [2, 6, 14, 18]: scores['F'] += 1
|
40 |
+
if i in [3, 7, 11, 15, 19]: scores['P'] += 1
|
41 |
+
|
42 |
+
mbti_type = ''.join([max(('E', 'I'), key=lambda x: scores[x]),
|
43 |
+
max(('S', 'N'), key=lambda x: scores[x]),
|
44 |
+
max(('T', 'F'), key=lambda x: scores[x]),
|
45 |
+
max(('J', 'P'), key=lambda x: scores[x])])
|
46 |
+
|
47 |
+
return f"λΉμ μ MBTI μ νμ {mbti_type}μ
λλ€."
|
48 |
+
|
49 |
+
iface = gr.Interface(fn=mbti_predict,
|
50 |
+
inputs=[gr.Radio(['μ', 'μλμ€']) for _ in questions],
|
51 |
+
outputs="text",
|
52 |
+
title="MBTI μ ν μ§λ¨",
|
53 |
+
description="20κ°μ μ§λ¬Έμ λ΅νμ¬ λΉμ μ MBTI μ νμ μμ보μΈμ.",
|
54 |
+
article="κ° μ§λ¬Έμ 'μ' λλ 'μλμ€'λ‘ λ΅ν΄ μ£ΌμΈμ.")
|
55 |
+
iface.launch()
|