Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| # Setting the page configuration | |
| st.set_page_config(page_title="Result Checker", layout="wide") | |
| # Customizing the background and text | |
| st.markdown( | |
| """ | |
| <style> | |
| body { | |
| background-color: skyblue; | |
| color: black; | |
| } | |
| .sidebar .sidebar-content { | |
| background-color: #f4f4f4; | |
| } | |
| </style> | |
| """, | |
| unsafe_allow_html=True, | |
| ) | |
| # Sidebar for Navigation | |
| st.sidebar.title("Result Checker") | |
| menu = st.sidebar.radio("Choose a Role", ["Teacher Section", "Student Section"]) | |
| # Data store for simplicity (in-memory, not persistent) | |
| data_store = {} | |
| if menu == "Teacher Section": | |
| st.title("Teacher Section") | |
| # Input fields for teacher to add multiple students | |
| school_name = st.text_input("School Name") | |
| number_of_students = st.number_input("Enter the number of students", min_value=1, max_value=100, step=1) | |
| for i in range(int(number_of_students)): | |
| st.subheader(f"Student {i+1}") | |
| student_name = st.text_input(f"Student Name {i+1}") | |
| father_name = st.text_input(f"Father's Name {i+1}") | |
| roll_no = st.text_input(f"Roll Number {i+1}") | |
| subjects = st.text_area(f"Enter Subject Marks for Student {i+1} (comma-separated, e.g., 80,90,70)") | |
| paper_cleared = st.number_input(f"Number of Papers Cleared for Student {i+1}", min_value=0) | |
| if st.button(f"Calculate Result for Student {i+1}"): | |
| if student_name and father_name and roll_no and subjects: | |
| marks = list(map(int, subjects.split(","))) | |
| total_marks = sum(marks) | |
| percentage = total_marks / (len(marks) * 100) * 100 | |
| # Grade calculation | |
| if percentage > 90: | |
| grade = "A++" | |
| elif percentage > 80: | |
| grade = "A+" | |
| elif percentage > 70: | |
| grade = "A" | |
| elif percentage > 60: | |
| grade = "B" | |
| elif percentage > 50: | |
| grade = "C" | |
| else: | |
| grade = "Fail" | |
| # Store data | |
| data_store[roll_no] = { | |
| "school_name": school_name, | |
| "student_name": student_name, | |
| "father_name": father_name, | |
| "percentage": percentage, | |
| "grade": grade, | |
| "subjects": subjects, | |
| "papers_cleared": paper_cleared | |
| } | |
| # Display Result | |
| st.write(f"### Result for {student_name}") | |
| st.write(f"**School Name:** {school_name}") | |
| st.write(f"**Student Name:** {student_name}") | |
| st.write(f"**Father's Name:** {father_name}") | |
| st.write(f"**Percentage:** {percentage:.2f}%") | |
| st.write(f"**Grade:** {grade}") | |
| st.write(f"**Papers Cleared:** {paper_cleared}") | |
| st.write(f"**Marks Obtained:** {subjects}") | |
| else: | |
| st.error("Please fill in all fields for the student.") | |
| elif menu == "Student Section": | |
| st.title("Student Section") | |
| # Student inputs | |
| school_name = st.text_input("School Name") | |
| class_name = st.text_input("Class") | |
| roll_no = st.text_input("Roll Number") | |
| if st.button("Get Result"): | |
| if roll_no in data_store: | |
| result = data_store[roll_no] | |
| st.write("### Result Summary") | |
| st.write(f"**School Name:** {result['school_name']}") | |
| st.write(f"**Student Name:** {result['student_name']}") | |
| st.write(f"**Father's Name:** {result['father_name']}") | |
| st.write(f"**Percentage:** {result['percentage']:.2f}%") | |
| st.write(f"**Grade:** {result['grade']}") | |
| st.write(f"**Marks Obtained:** {result['subjects']}") | |
| st.write(f"**Papers Cleared:** {result['papers_cleared']}") | |
| else: | |
| st.error("Result not found. Please check the roll number.") | |