import streamlit as st def calculate_gpa(grades, credits): total_points = sum(g * c for g, c in zip(grades, credits)) total_credits = sum(credits) return round(total_points / total_credits, 2) if total_credits else 0 # Streamlit UI st.title("GPA Calculator") num_courses = st.number_input("Enter number of courses:", min_value=1, step=1) grades = [] credits = [] for i in range(num_courses): col1, col2 = st.columns(2) with col1: grade = st.selectbox(f"Grade for Course {i+1}", options=["A", "B", "C", "D", "F"], index=0, key=f"grade{i}") with col2: credit = st.number_input(f"Credit Hours for Course {i+1}", min_value=1, step=1, key=f"credit{i}") grade_points = {"A": 4.0, "B": 3.0, "C": 2.0, "D": 1.0, "F": 0.0} grades.append(grade_points[grade]) credits.append(credit) if st.button("Calculate GPA"): gpa = calculate_gpa(grades, credits) st.success(f"Your GPA is: {gpa}")