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)