Spaces:
Sleeping
Sleeping
File size: 3,455 Bytes
7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 4052fa4 7a80f4b 925ca30 4052fa4 bb7a836 7a80f4b 925ca30 4052fa4 7a80f4b 925ca30 4052fa4 7a80f4b 4052fa4 7a80f4b 925ca30 7a80f4b 4052fa4 7a80f4b 4052fa4 |
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
import streamlit as st
from streamlit_ace import st_ace
import pandas as pd
button_style = st.markdown('''
<style>
div.stButton > button:first-child {{
background-color: #3A7EF1;
}}
</style>''', unsafe_allow_html=True)
left_co, cent_co,last_co = st.columns(3)
with cent_co:
st.image("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTzYyVPVc8EX7_N2QOh9D86t54SS7ucBDcOU_Tn52LwBi8BQTwcdeCVKcyjSKBGExjB4g&usqp=CAU")
st.markdown("<h5 style='color: #707379; text-align: center;'>School of AI by 1001epochs</h5>", unsafe_allow_html=True)
st.markdown('')
def check_solution(code, func_params):
try:
exec(code)
globals_dict = {}
exec(code, globals_dict)
function_to_test = globals_dict.get(func_params.get('function_name'))
if not callable(function_to_test):
raise ValueError(f"{{func_params.get('function_name')}} is not a callable function.")
# Run the tests and populate the results table
expected_result_list = []
actual_result_list = []
test_result = []
for input_params, expected_output in func_params["test_cases"]:
expected_result_list.append(expected_output)
result = function_to_test(*input_params)
actual_result_list.append(result)
test_result.append("Passed" if expected_result_list == actual_result_list else "Failed")
result_df = pd.DataFrame({
"Expected": expected_result_list,
"Run": actual_result_list,
"Result": test_result
}, index=None)
st.markdown(result_df.style.hide(axis="index").to_html(), unsafe_allow_html=True)
st.markdown("<br>", unsafe_allow_html=True)
# Check if all tests passed
if expected_result_list == actual_result_list:
st.success("All tests passed!")
else:
st.error("Some tests failed.")
return True
except SyntaxError as e:
st.error(f"Error: {{e}}")
def main():
with st.form('app'):
st.markdown("<h2 style='color: #707379;'>Coding Challenge - Code Practice</h2>", unsafe_allow_html=True)
# Description of the challenge
st.write("Create a function sum that meets the following criteria:")
st.write('''Sum of two values''')
# Display sample example for all test cases
sample_examples = "Sample"
st.code(sample_examples, language="python")
show_solution_button = st.form_submit_button("Show Solution")
if show_solution_button:
solution = '''def sum(a,b):
return a+b '''
if solution:
st.code('''def sum(a,b):
return a+b ''', language="python")
else:
st.error('No Solution Provided!')
# Code input area
code = st_ace(value='''def sum(a,b):''', language="python", key="my_editor", theme='clouds', height=200)
# Check solution button
if st.form_submit_button("Check Solution"):
if code:
# Check the solution
check_solution(code, {
"function_name": "sum",
"test_cases": [((1, 2), 3), ((1, 0), 1), ((-1, -2), -3)]
})
else:
st.error("Please provide a solution.")
st.markdown("Copyright© by 1001epochs. All rights reserved.")
if __name__ == "__main__":
main()
|