sacreemure commited on
Commit
d9d5e73
·
verified ·
1 Parent(s): 1b60ee4

Upload lingquestions_app.py

Browse files
Files changed (1) hide show
  1. lingquestions_app.py +45 -0
lingquestions_app.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import random
3
+ import re
4
+
5
+ def get_questions_from_text(text):
6
+
7
+ return re.findall(r"\d+\.\s[^\n]+", text)
8
+
9
+ def select_random_questions(files):
10
+
11
+ selected_questions = {}
12
+
13
+ for file in files:
14
+ text = file.getvalue().decode("utf-8")
15
+ questions = get_questions_from_text(text)
16
+
17
+ if questions:
18
+ selected_questions[file.name] = random.choice(questions)
19
+ else:
20
+ selected_questions[file.name] = "Вопросов НЕТ!"
21
+
22
+ return selected_questions
23
+
24
+ st.title("Вопросы по Теоретической и Прикладной Лингвистике")
25
+ st.write("Загрузите файлы и программа выберет по одному вопросу из каждого.")
26
+
27
+ if "uploaded_files" not in st.session_state:
28
+ st.session_state.uploaded_files = None
29
+
30
+ uploaded_files = st.file_uploader("Загрузите файлы", accept_multiple_files=True, type="txt")
31
+
32
+ if uploaded_files:
33
+ st.session_state.uploaded_files = uploaded_files
34
+
35
+ if st.session_state.uploaded_files:
36
+ selected_questions = select_random_questions(st.session_state.uploaded_files)
37
+ st.subheader("Вопросы:")
38
+
39
+ for doc, question in selected_questions.items():
40
+ st.write(f"📄 **{doc}**: {question}")
41
+
42
+ if st.button("Начать заново"):
43
+ st.session_state.uploaded_files = None
44
+ st.rerun()
45
+