seawolf2357 commited on
Commit
cead143
β€’
1 Parent(s): a5f0b57

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+
3
+ # MBTI 질문과 선택지 μ„€μ •
4
+ questions = [
5
+ ("당신은 μƒˆλ‘œμš΄ μ‚¬λžŒλ“€μ„ λ§Œλ‚˜λŠ” 것을 μ’‹μ•„ν•˜λ‚˜μš”?", ("예", "μ•„λ‹ˆμ˜€")),
6
+ ("ꡬ체적인 사싀을 μ„ ν˜Έν•˜λ‚˜μš”, μ•„λ‹ˆλ©΄ κ°€λŠ₯성에 λŒ€ν•΄ μƒκ°ν•˜λŠ” 것을 μ„ ν˜Έν•˜λ‚˜μš”?", ("ꡬ체적인 사싀", "κ°€λŠ₯μ„±")),
7
+ ("결정을 내릴 λ•Œ 논리와 이성을 더 μ€‘μ‹œν•˜λ‚˜μš”, μ•„λ‹ˆλ©΄ 개인의 감정과 κ°€μΉ˜λ₯Ό 더 μ€‘μ‹œν•˜λ‚˜μš”?", ("논리와 이성", "개인의 감정과 κ°€μΉ˜")),
8
+ ("κ³„νšμ„ μ„Έμš°λŠ” 것을 μ„ ν˜Έν•˜λ‚˜μš”, μ•„λ‹ˆλ©΄ μœ μ—°ν•˜κ²Œ λŒ€μ²˜ν•˜λŠ” 것을 μ„ ν˜Έν•˜λ‚˜μš”?", ("κ³„νš μ„Έμš°κΈ°", "μœ μ—°ν•˜κ²Œ λŒ€μ²˜ν•˜κΈ°")),
9
+ ("ν™œλ™μ μΈ νœ΄κ°€λ₯Ό μ„ ν˜Έν•˜λ‚˜μš”, μ•„λ‹ˆλ©΄ μ‘°μš©ν•œ νœ΄κ°€λ₯Ό μ„ ν˜Έν•˜λ‚˜μš”?", ("ν™œλ™μ μΈ νœ΄κ°€", "μ‘°μš©ν•œ νœ΄κ°€")),
10
+ ("사싀을 λ°”νƒ•μœΌλ‘œ μ΄μ•ΌκΈ°ν•˜λŠ” 것을 μ„ ν˜Έν•˜λ‚˜μš”, μ•„λ‹ˆλ©΄ 상상λ ₯을 λ°”νƒ•μœΌλ‘œ μ΄μ•ΌκΈ°ν•˜λŠ” 것을 μ„ ν˜Έν•˜λ‚˜μš”?", ("사싀 바탕", "상상λ ₯ 바탕")),
11
+ ("곡정함이 더 μ€‘μš”ν•˜λ‚˜μš”, μ•„λ‹ˆλ©΄ μΉœμ ˆν•¨μ΄ 더 μ€‘μš”ν•˜λ‚˜μš”?", ("곡정함", "μΉœμ ˆν•¨")),
12
+ ("일을 λλ‚΄λŠ” 것이 더 λ§Œμ‘±μŠ€λŸ½λ‚˜μš”, μ•„λ‹ˆλ©΄ 일을 μ‹œμž‘ν•˜λŠ” 것이 더 λ§Œμ‘±μŠ€λŸ½λ‚˜μš”?", ("일 끝내기", "일 μ‹œμž‘ν•˜κΈ°")),
13
+ ("전톡적인 방법을 μ„ ν˜Έν•˜λ‚˜μš”, μ•„λ‹ˆλ©΄ μƒˆλ‘œμš΄ 방법을 μ‹œλ„ν•˜λŠ” 것을 μ„ ν˜Έν•˜λ‚˜μš”?", ("전톡적인 방법", "μƒˆλ‘œμš΄ 방법")),
14
+ ("κ³„νšμ— 따라 ν–‰λ™ν•˜λŠ” 것을 μ’‹μ•„ν•˜λ‚˜μš”, μ•„λ‹ˆλ©΄ spontaneityλ₯Ό μ„ ν˜Έν•˜λ‚˜μš”?", ("κ³„νšμ— 따라", "spontaneity")),
15
+ ]
16
+
17
+ # MBTI 차원별 점수 계산을 μœ„ν•œ μ΄ˆκΈ°ν™”
18
+ scores = {"E": 0, "I": 0, "S": 0, "N": 0, "T": 0, "F": 0, "J": 0, "P": 0}
19
+
20
+ # 질문과 선택지λ₯Ό 좜λ ₯ν•˜κ³  μ‚¬μš©μžμ˜ 응닡을 기둝
21
+ for i, (question, options) in enumerate(questions, start=1):
22
+ answer = st.radio(question, options, key=f"question_{i}")
23
+ if answer:
24
+ # μ‚¬μš©μžμ˜ 선택에 따라 점수 μ—…λ°μ΄νŠΈ (이 뢀뢄은 μ˜ˆμ‹œλ‘œ κ°„λ‹¨ν•˜κ²Œ κ΅¬ν˜„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€)
25
+ if i % 4 == 1:
26
+ scores["E" if answer == options[0] else "I"] += 1
27
+ elif i % 4 == 2:
28
+ scores["S" if answer == options[0] else "N"] += 1
29
+ elif i % 4 == 3:
30
+ scores["T" if answer == options[0] else "F"] += 1
31
+ elif i % 4 == 0:
32
+ scores["J" if answer == options[0] else "P"] += 1
33
+
34
+ if st.button("결과 보기"):
35
+ # MBTI μœ ν˜• κ²°μ •
36
+ mbti_type = "".join([max(pair, key=lambda x: scores[x]) for pair in [("E", "I"), ("S", "N"), ("T", "F"), ("J", "P")]])
37
+ st.write(f"λ‹Ήμ‹ μ˜ MBTI μœ ν˜•μ€ {mbti_type}μž…λ‹ˆλ‹€.")