kawaa99 commited on
Commit
405d754
·
verified ·
1 Parent(s): f3494cd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -12
app.py CHANGED
@@ -110,24 +110,28 @@ elif mode == "Idioms in sentences":
110
 
111
  elif mode == "Quiz time!":
112
 
113
- st.header("🎮Quiz")
114
 
115
  if "xp" not in st.session_state:
116
  st.session_state.xp = 0
117
 
118
  if "used_structures" not in st.session_state:
119
  st.session_state.used_structures = set()
120
-
121
  if "used_questions" not in st.session_state:
122
  st.session_state.used_questions = set()
123
 
124
  st.metric("XP", st.session_state.xp)
125
 
 
126
  if "quiz" not in st.session_state:
127
- st.session_state.quiz = generate_adaptive_quiz(conn,idiom_map,examples_map,st.session_state.used_questions,st.session_state.used_structures)
128
-
129
- if "question_id" not in st.session_state:
130
- st.session_state.question_id = str(uuid.uuid4())
 
 
 
131
 
132
  quiz = st.session_state.quiz
133
 
@@ -136,13 +140,13 @@ elif mode == "Quiz time!":
136
 
137
  user_answer = st.radio(
138
  "Choose your answer:",
139
- quiz["options"],
140
- key=st.session_state.question_id
141
  )
142
 
 
143
  if st.button("Submit"):
144
 
145
- correct = user_answer == quiz["answer"]
146
  update_analytics(conn, quiz["answer"], correct)
147
 
148
  if correct:
@@ -151,6 +155,7 @@ elif mode == "Quiz time!":
151
  else:
152
  st.error(f"Wrong! Correct answer: {quiz['answer']}")
153
 
 
154
  if st.button("New Question"):
155
 
156
  new_quiz = generate_adaptive_quiz(
@@ -160,11 +165,12 @@ elif mode == "Quiz time!":
160
  st.session_state.used_questions,
161
  st.session_state.used_structures
162
  )
163
- st.session_state.used_structures
 
164
  st.session_state.used_questions.add(new_quiz["answer"])
 
165
  st.session_state.quiz = new_quiz
166
- st.session_state.question_id = str(uuid.uuid4())
167
-
168
  st.rerun()
169
 
170
 
 
110
 
111
  elif mode == "Quiz time!":
112
 
113
+ st.header("🎮 Quiz")
114
 
115
  if "xp" not in st.session_state:
116
  st.session_state.xp = 0
117
 
118
  if "used_structures" not in st.session_state:
119
  st.session_state.used_structures = set()
120
+
121
  if "used_questions" not in st.session_state:
122
  st.session_state.used_questions = set()
123
 
124
  st.metric("XP", st.session_state.xp)
125
 
126
+ # ---------- INIT QUIZ ----------
127
  if "quiz" not in st.session_state:
128
+ st.session_state.quiz = generate_adaptive_quiz(
129
+ conn,
130
+ idiom_map,
131
+ examples_map,
132
+ st.session_state.used_questions,
133
+ st.session_state.used_structures
134
+ )
135
 
136
  quiz = st.session_state.quiz
137
 
 
140
 
141
  user_answer = st.radio(
142
  "Choose your answer:",
143
+ quiz["options"]
 
144
  )
145
 
146
+ # ---------- SUBMIT ----------
147
  if st.button("Submit"):
148
 
149
+ correct = (user_answer == quiz["answer"])
150
  update_analytics(conn, quiz["answer"], correct)
151
 
152
  if correct:
 
155
  else:
156
  st.error(f"Wrong! Correct answer: {quiz['answer']}")
157
 
158
+ # ---------- NEW QUESTION ----------
159
  if st.button("New Question"):
160
 
161
  new_quiz = generate_adaptive_quiz(
 
165
  st.session_state.used_questions,
166
  st.session_state.used_structures
167
  )
168
+
169
+ # store used items properly
170
  st.session_state.used_questions.add(new_quiz["answer"])
171
+
172
  st.session_state.quiz = new_quiz
173
+
 
174
  st.rerun()
175
 
176