File size: 1,454 Bytes
d9d5e73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import streamlit as st
import random
import re

def get_questions_from_text(text):

    return re.findall(r"\d+\.\s[^\n]+", text)

def select_random_questions(files):
    
    selected_questions = {}

    for file in files:
        text = file.getvalue().decode("utf-8")  
        questions = get_questions_from_text(text)

        if questions:
            selected_questions[file.name] = random.choice(questions)
        else:
            selected_questions[file.name] = "Вопросов НЕТ!"

    return selected_questions

st.title("Вопросы по Теоретической и Прикладной Лингвистике")
st.write("Загрузите файлы и программа выберет по одному вопросу из каждого.")

if "uploaded_files" not in st.session_state:
    st.session_state.uploaded_files = None

uploaded_files = st.file_uploader("Загрузите файлы", accept_multiple_files=True, type="txt")

if uploaded_files:
    st.session_state.uploaded_files = uploaded_files

if st.session_state.uploaded_files:
    selected_questions = select_random_questions(st.session_state.uploaded_files)
    st.subheader("Вопросы:")

    for doc, question in selected_questions.items():
        st.write(f"📄 **{doc}**: {question}")
    
if st.button("Начать заново"):
    st.session_state.uploaded_files = None  
    st.rerun()