Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -119,7 +119,7 @@ with gr.Blocks(css="""
|
|
| 119 |
value="common3000",
|
| 120 |
label="選擇單字庫"
|
| 121 |
)
|
| 122 |
-
quiz_num_slider = gr.Slider(minimum=1, maximum=
|
| 123 |
|
| 124 |
quiz_generate_button = gr.Button("📄 生成試卷")
|
| 125 |
quiz_submit_button = gr.Button("✅ 提交試卷")
|
|
@@ -133,13 +133,27 @@ with gr.Blocks(css="""
|
|
| 133 |
questions = generate_fill_in_blank_exam(source, num)
|
| 134 |
quiz_questions_state.value = questions
|
| 135 |
|
| 136 |
-
radios =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 137 |
return radios
|
| 138 |
|
| 139 |
def submit_exam(*user_answers):
|
| 140 |
questions = quiz_questions_state.value
|
| 141 |
-
|
| 142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
|
| 144 |
quiz_generate_button.click(
|
| 145 |
display_exam,
|
|
@@ -153,4 +167,4 @@ with gr.Blocks(css="""
|
|
| 153 |
outputs=quiz_score_display
|
| 154 |
)
|
| 155 |
|
| 156 |
-
|
|
|
|
| 119 |
value="common3000",
|
| 120 |
label="選擇單字庫"
|
| 121 |
)
|
| 122 |
+
quiz_num_slider = gr.Slider(minimum=1, maximum=5, value=2, step=1, label="題目數量")
|
| 123 |
|
| 124 |
quiz_generate_button = gr.Button("📄 生成試卷")
|
| 125 |
quiz_submit_button = gr.Button("✅ 提交試卷")
|
|
|
|
| 133 |
questions = generate_fill_in_blank_exam(source, num)
|
| 134 |
quiz_questions_state.value = questions
|
| 135 |
|
| 136 |
+
radios = []
|
| 137 |
+
for i, q in enumerate(questions):
|
| 138 |
+
radios.append(
|
| 139 |
+
gr.Radio(
|
| 140 |
+
choices=q['options'],
|
| 141 |
+
label=f"第 {i + 1} 題:{q['sentence']}",
|
| 142 |
+
interactive=True
|
| 143 |
+
)
|
| 144 |
+
)
|
| 145 |
+
|
| 146 |
return radios
|
| 147 |
|
| 148 |
def submit_exam(*user_answers):
|
| 149 |
questions = quiz_questions_state.value
|
| 150 |
+
score, results = check_exam(user_answers, questions)
|
| 151 |
+
result_html = f"<p><strong>分數:</strong> {score}</p>"
|
| 152 |
+
|
| 153 |
+
for res in results:
|
| 154 |
+
result_html += f"<p>{res['question']}<br> 你的答案:{res['user_answer']} <br> 正確答案:{res['correct_answer']} <br> {'✅' if res['is_correct'] else '❌'}</p>"
|
| 155 |
+
|
| 156 |
+
return result_html
|
| 157 |
|
| 158 |
quiz_generate_button.click(
|
| 159 |
display_exam,
|
|
|
|
| 167 |
outputs=quiz_score_display
|
| 168 |
)
|
| 169 |
|
| 170 |
+
demo.launch()
|