MockInterviewBot / code_executor.py
nsgupta1's picture
Modularize (#2)
1018204 verified
import streamlit as st
def execute_code(code_input):
try:
exec_globals = {}
exec(f"def user_solution():\n{code_input}", exec_globals)
user_solution = exec_globals.get('user_solution', None)
if st.session_state.sample_test_case:
test_args = eval(st.session_state.sample_test_case)
if not isinstance(test_args, tuple):
test_args = (test_args,)
returned_output = user_solution(*test_args)
else:
returned_output = user_solution()
st.sidebar.markdown(f"**Your Output:** {returned_output}")
if str(returned_output) == st.session_state.expected_output:
st.sidebar.success("Your output matches the expected output!")
else:
st.sidebar.error("Your output does not match the expected output.")
except Exception as e:
st.sidebar.error(f"Error: {e}")