ExamPrep_App / lingquestions_app.py
sacreemure's picture
Upload lingquestions_app.py
d9d5e73 verified
raw
history blame
1.45 kB
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()