Spaces:
Runtime error
Runtime error
import streamlit as st | |
from utils.levels import complete_level, render_page, initialize_level | |
from utils.login import initialize_login | |
import random | |
import json | |
LEVEL = 3 | |
initialize_login() | |
initialize_level() | |
if "questions" not in st.session_state: | |
with open("assets/quiz.json") as f: | |
questions = json.load(f) | |
for i in range(len(questions)): | |
random.shuffle(questions[i]["options"]) | |
random.shuffle(questions) | |
st.session_state["questions"] = questions | |
def step_page(): | |
st.header("Quiz") | |
st.markdown( | |
"""Now that you've learned about how Face Recognition work, let's test your knowledge with a quiz!""" | |
) | |
for i in range(len(st.session_state["questions"])): | |
st.subheader(f"Question {i + 1}") | |
question = st.session_state["questions"][i] | |
st.markdown(question["question"]) | |
answer = st.radio("Select an answer:", question["options"], key=f"radio{i}") | |
if st.session_state.get("EVALUATE", False): | |
if answer == question["answer"]: | |
st.success("Correct!") | |
else: | |
st.error("Incorrect! Try Again") | |
if st.button("Evaluate"): | |
st.session_state["EVALUATE"] = True | |
st.experimental_rerun() | |
st.info("Click on the button below to complete the tutorial!") | |
if st.button("Complete"): | |
complete_level(LEVEL) | |
render_page(step_page, LEVEL) | |