Spaces:
				
			
			
	
			
			
		Sleeping
		
	
	
	
			
			
	
	
	
	
		
		
		Sleeping
		
	File size: 2,337 Bytes
			
			d1b18b2 4387bd9 d1b18b2 4387bd9 d1b18b2 4387bd9 d1b18b2 4387bd9 bacf6db 4387bd9  | 
								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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78  | 
								import streamlit as st
import time
# Sample quiz data (can be generated dynamically via Hugging Face)
quiz_data = [
    {
        "question": "What is the capital of France?",
        "options": ["Berlin", "Paris", "Madrid", "Rome"],
        "answer": "Paris"
    },
    {
        "question": "What is 2 + 2?",
        "options": ["3", "4", "5", "6"],
        "answer": "4"
    }
]
st.set_page_config(page_title="AI Quiz App", layout="centered")
st.title("π§  AI-Powered Quiz with Timer & Scoring")
# Timer per question (in seconds)
QUESTION_TIMER = 15
# Session state to store progress
if 'current_q' not in st.session_state:
    st.session_state.current_q = 0
    st.session_state.score = 0
    st.session_state.start_time = time.time()
current_question = quiz_data[st.session_state.current_q]
elapsed = time.time() - st.session_state.start_time
time_left = max(0, int(QUESTION_TIMER - elapsed))
# Display timer
st.info(f"β±οΈ Time Left: {time_left} seconds")
if time_left == 0:
    st.warning("β° Time's up! Moving to next question...")
    st.session_state.current_q += 1
    st.session_state.start_time = time.time()
    st.experimental_rerun()
# Card-style container
with st.container():
    st.markdown("### β Question:")
    st.markdown(f"**{current_question['question']}**")
    selected = st.radio(
        "Choose your answer:",
        current_question["options"],
        index=None,
        key=st.session_state.current_q
    )
# Submit button
if st.button("Submit Answer"):
    if selected:
        if selected == current_question["answer"]:
            st.success("β
 Correct!")
            st.session_state.score += 1
        else:
            st.error(f"β Incorrect! Correct answer: {current_question['answer']}")
        
        time.sleep(1.5)
        st.session_state.current_q += 1
        st.session_state.start_time = time.time()
        st.experimental_rerun()
    else:
        st.warning("Please select an option before submitting.")
# Quiz End
if st.session_state.current_q >= len(quiz_data):
    st.balloons()
    st.success(f"π Quiz Completed! Your score: {st.session_state.score}/{len(quiz_data)}")
    if st.button("Restart"):
        st.session_state.current_q = 0
        st.session_state.score = 0
        st.session_state.start_time = time.time()
        st.experimental_rerun()
 |