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( """ """, 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.")