Spaces:
No application file
No application file
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()
|