Spaces:
Sleeping
Sleeping
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}") |