jonghhhh commited on
Commit
e6ecc3e
Β·
verified Β·
1 Parent(s): 44e9020

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -31
app.py CHANGED
@@ -1,56 +1,63 @@
1
  import streamlit as st
2
  import pandas as pd
3
-
4
- # 초기 νŽ˜μ΄μ§€ μ„€μ • - 기본적으둜 학생 응닡 νŽ˜μ΄μ§€κ°€ λ¨Όμ € 보이도둝 μ„€μ •
5
- if 'page' not in st.session_state:
6
- st.session_state['page'] = "학생 응닡"
7
 
8
  # μ‚¬μ΄λ“œλ°”μ—μ„œ νŽ˜μ΄μ§€ 선택
9
- user_type = st.sidebar.selectbox("μ‚¬μš©μž μœ ν˜•μ„ μ„ νƒν•˜μ„Έμš”:", ["학생 응닡", "μ„€λ¬Έ μ„€μ •", "κ²°κ³Ό 확인"], index=["학생 응닡", "μ„€λ¬Έ μ„€μ •", "κ²°κ³Ό 확인"].index(st.session_state['page']))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
  # 학생 응닡 νŽ˜μ΄μ§€
12
- if user_type == "학생 응닡":
13
- st.session_state['page'] = "학생 응닡"
14
  st.title("ν•™μƒμš© μ„€λ¬Έ 응닡")
15
 
16
- if 'question' in st.session_state and 'options' in st.session_state:
17
- st.write(f"### {st.session_state['question']}")
18
- selected_option = st.radio("닡변을 μ„ νƒν•˜μ„Έμš”:", st.session_state['options'])
 
 
 
 
 
19
 
20
  open_answer = None
21
- if st.session_state['open_ended']:
22
  open_answer = st.text_input("기타 μ˜κ²¬μ„ μž…λ ₯ν•˜μ„Έμš”:")
23
 
24
  if st.button("λ‹΅λ³€ 제좜"):
 
 
25
  st.session_state['responses'].append({
26
  '선택': selected_option,
27
- '주관식': open_answer if st.session_state['open_ended'] else None
28
  })
29
  st.success("닡변이 μ œμΆœλ˜μ—ˆμŠ΅λ‹ˆλ‹€!")
30
  else:
31
  st.warning("섀문이 아직 μ„€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. κ΅μ‚¬μ—κ²Œ λ¬Έμ˜ν•˜μ„Έμš”.")
32
 
33
- # μ„€λ¬Έ μ„€μ • νŽ˜μ΄μ§€ (κ΅μ‚¬μš©)
34
- elif user_type == "μ„€λ¬Έ μ„€μ •":
35
- st.session_state['page'] = "μ„€λ¬Έ μ„€μ •"
36
- st.title("μ„€λ¬Έ μ„€μ •")
37
- question = st.text_input("μ„€λ¬Έ μ§ˆλ¬Έμ„ μž…λ ₯ν•˜μ„Έμš”:")
38
- options = st.text_area("μ„ νƒν˜• λ‹΅λ³€ ν•­λͺ©μ„ μž…λ ₯ν•˜μ„Έμš” (각 ν•­λͺ©μ„ μƒˆ 쀄에 μž…λ ₯):").split('\n')
39
- open_ended = st.checkbox("주관식 닡변도 ν—ˆμš©ν•˜κΈ°")
40
-
41
- if st.button("μ„€λ¬Έ μ‹œμž‘"):
42
- if question and options:
43
- st.session_state['question'] = question
44
- st.session_state['options'] = options
45
- st.session_state['open_ended'] = open_ended
46
- st.session_state['responses'] = []
47
- st.success("섀문이 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€.")
48
- else:
49
- st.error("λͺ¨λ“  ν•„λ“œλ₯Ό μž…λ ₯ν•˜μ„Έμš”.")
50
-
51
  # κ²°κ³Ό 확인 νŽ˜μ΄μ§€ (κ΅μ‚¬μš©)
52
  elif user_type == "κ²°κ³Ό 확인":
53
- st.session_state['page'] = "κ²°κ³Ό 확인"
54
  st.title("μ„€λ¬Έ κ²°κ³Ό 확인")
55
 
56
  if 'responses' in st.session_state and st.session_state['responses']:
@@ -65,3 +72,4 @@ elif user_type == "κ²°κ³Ό 확인":
65
  else:
66
  st.warning("아직 제좜된 닡변이 μ—†μŠ΅λ‹ˆλ‹€.")
67
 
 
 
1
  import streamlit as st
2
  import pandas as pd
3
+ import os
 
 
 
4
 
5
  # μ‚¬μ΄λ“œλ°”μ—μ„œ νŽ˜μ΄μ§€ 선택
6
+ user_type = st.sidebar.selectbox("μ‚¬μš©μž μœ ν˜•μ„ μ„ νƒν•˜μ„Έμš”:", ["학생 응닡", "μ„€λ¬Έ μ„€μ •", "κ²°κ³Ό 확인"])
7
+
8
+ # μ„€λ¬Έ 데이터 파일 경둜
9
+ file_path = "survey_data.csv"
10
+
11
+ # μ„€λ¬Έ μ„€μ • νŽ˜μ΄μ§€ (κ΅μ‚¬μš©)
12
+ if user_type == "μ„€λ¬Έ μ„€μ •":
13
+ st.title("μ„€λ¬Έ μ„€μ •")
14
+ question = st.text_input("μ„€λ¬Έ μ§ˆλ¬Έμ„ μž…λ ₯ν•˜μ„Έμš”:")
15
+ options = st.text_area("μ„ νƒν˜• λ‹΅λ³€ ν•­λͺ©μ„ μž…λ ₯ν•˜μ„Έμš” (각 ν•­λͺ©μ„ μƒˆ 쀄에 μž…λ ₯):").split('\n')
16
+ open_ended = st.checkbox("주관식 닡변도 ν—ˆμš©ν•˜κΈ°")
17
+
18
+ if st.button("μ„€λ¬Έ μ‹œμž‘"):
19
+ if question and options:
20
+ data = {
21
+ 'question': [question],
22
+ 'options': [options],
23
+ 'open_ended': [open_ended]
24
+ }
25
+ df = pd.DataFrame(data)
26
+ df.to_csv(file_path, index=False)
27
+ st.success("섀문이 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€.")
28
+ else:
29
+ st.error("λͺ¨λ“  ν•„λ“œλ₯Ό μž…λ ₯ν•˜μ„Έμš”.")
30
 
31
  # 학생 응닡 νŽ˜μ΄μ§€
32
+ elif user_type == "학생 응닡":
 
33
  st.title("ν•™μƒμš© μ„€λ¬Έ 응닡")
34
 
35
+ if os.path.exists(file_path):
36
+ df = pd.read_csv(file_path)
37
+ question = df['question'][0]
38
+ options = df['options'][0].strip("[]").replace("'", "").split(", ")
39
+ open_ended = df['open_ended'][0] == 'True'
40
+
41
+ st.write(f"### {question}")
42
+ selected_option = st.radio("닡변을 μ„ νƒν•˜μ„Έμš”:", options)
43
 
44
  open_answer = None
45
+ if open_ended:
46
  open_answer = st.text_input("기타 μ˜κ²¬μ„ μž…λ ₯ν•˜μ„Έμš”:")
47
 
48
  if st.button("λ‹΅λ³€ 제좜"):
49
+ if 'responses' not in st.session_state:
50
+ st.session_state['responses'] = []
51
  st.session_state['responses'].append({
52
  '선택': selected_option,
53
+ '주관식': open_answer if open_ended else None
54
  })
55
  st.success("닡변이 μ œμΆœλ˜μ—ˆμŠ΅λ‹ˆλ‹€!")
56
  else:
57
  st.warning("섀문이 아직 μ„€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. κ΅μ‚¬μ—κ²Œ λ¬Έμ˜ν•˜μ„Έμš”.")
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  # κ²°κ³Ό 확인 νŽ˜μ΄μ§€ (κ΅μ‚¬μš©)
60
  elif user_type == "κ²°κ³Ό 확인":
 
61
  st.title("μ„€λ¬Έ κ²°κ³Ό 확인")
62
 
63
  if 'responses' in st.session_state and st.session_state['responses']:
 
72
  else:
73
  st.warning("아직 제좜된 닡변이 μ—†μŠ΅λ‹ˆλ‹€.")
74
 
75
+