jonghhhh commited on
Commit
44e9020
ยท
verified ยท
1 Parent(s): 4b4d35e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +63 -28
app.py CHANGED
@@ -1,32 +1,67 @@
1
  import streamlit as st
2
  import pandas as pd
3
 
4
- # ๊ต์‚ฌ์šฉ ์„ค๋ฌธ ์„ค์ • ๋ฐ ๊ฒฐ๊ณผ ํ™•์ธ ํŽ˜์ด์ง€
5
- st.title("๊ฐ•์‚ฌ์šฉ ์„ค๋ฌธ ๊ด€๋ฆฌ")
6
-
7
- # ์„ค๋ฌธ ์„ค์ •
8
- st.subheader("์„ค๋ฌธ ์„ค์ •")
9
- question = st.text_input("์„ค๋ฌธ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜์„ธ์š”:")
10
- options = st.text_area("์„ ํƒํ˜• ๋‹ต๋ณ€ ํ•ญ๋ชฉ์„ ์ž…๋ ฅํ•˜์„ธ์š” (๊ฐ ํ•ญ๋ชฉ์„ ์ƒˆ ์ค„์— ์ž…๋ ฅ):").split('\n')
11
- open_ended = st.checkbox("์ฃผ๊ด€์‹ ๋‹ต๋ณ€๋„ ํ—ˆ์šฉํ•˜๊ธฐ")
12
-
13
- if st.button("์„ค๋ฌธ ์‹œ์ž‘"):
14
- if question and options:
15
- st.session_state['question'] = question
16
- st.session_state['options'] = options
17
- st.session_state['open_ended'] = open_ended
18
- st.session_state['responses'] = []
19
- st.success(f"์„ค๋ฌธ์ด ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•™์ƒ๋“ค์—๊ฒŒ ์ด URL์„ ๊ณต์œ ํ•˜์„ธ์š”: https://huggingface.co/spaces/jonghhhh/inclass_poll_students")
 
 
 
 
 
 
 
 
 
 
20
  else:
21
- st.error("๋ชจ๋“  ํ•„๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”.")
22
-
23
- # ๊ฒฐ๊ณผ ํ™•์ธ
24
- st.subheader("์„ค๋ฌธ ๊ฒฐ๊ณผ ํ™•์ธ")
25
- if 'responses' in st.session_state and st.session_state['responses']:
26
- df = pd.DataFrame(st.session_state['responses'])
27
- st.bar_chart(df['์„ ํƒ'].value_counts())
28
- if '์ฃผ๊ด€์‹' in df.columns:
29
- st.write("์ฃผ๊ด€์‹ ๋‹ต๋ณ€:")
30
- st.table(df['์ฃผ๊ด€์‹'].dropna())
31
- else:
32
- st.write("์•„์ง ์ œ์ถœ๋œ ๋‹ต๋ณ€์ด ์—†์Šต๋‹ˆ๋‹ค.")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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']:
57
+ df = pd.DataFrame(st.session_state['responses'])
58
+
59
+ st.write("### ์„ ํƒํ˜• ๋‹ต๋ณ€ ๋ถ„ํฌ")
60
+ st.bar_chart(df['์„ ํƒ'].value_counts())
61
+
62
+ if '์ฃผ๊ด€์‹' in df.columns:
63
+ st.write("### ์ฃผ๊ด€์‹ ๋‹ต๋ณ€")
64
+ st.table(df['์ฃผ๊ด€์‹'].dropna())
65
+ else:
66
+ st.warning("์•„์ง ์ œ์ถœ๋œ ๋‹ต๋ณ€์ด ์—†์Šต๋‹ˆ๋‹ค.")
67
+