Required Grade Calculator




def calculate_grades(prelim): prelim_weight = 0.2 midterm_weight = 0.3 final_weight = 0.5 desired_grade = 75 prelim_score = float(prelim) * prelim_weight added_weights = midterm_weight + final_weight required_midterm_final = (desired_grade - prelim_score) / added_weights if required_midterm_final > 100: return None, None, True, False, False else: midterm_final_grade = round(required_midterm_final, 2) dean_list = midterm_final_grade <= 81.25 difficult_pass = midterm_final_grade >= 90 return midterm_final_grade, midterm_final_grade, False, dean_list, difficult_pass def calculate(): prelim = document.getElementById('prelim').value error_elem = document.getElementById('error') result_elem = document.getElementById('result') try: prelim = float(prelim) if prelim < 1 or prelim > 100: error_elem.innerHTML = "Please enter a grade between 1 and 100." result_elem.innerHTML = "" else: midterm, final, impossible, dean_list, difficult_pass = calculate_grades(prelim) if impossible: error_elem.innerHTML = "It is impossible to achieve the desired grade with the given prelim score." result_elem.innerHTML = "" else: result = f"

To pass with a grade of 75, you need at least:

" result += f"

Midterm Grade: {midterm}

" result += f"

Final Grade: {final}

" if dean_list: result += "

You can qualify for the Dean's Lister!

" if difficult_pass: result += "

It's difficult to pass with this Prelim grade. You'll need a Midterm and Final Grade of 90 or higher!

" result_elem.innerHTML = result error_elem.innerHTML = "" except ValueError: error_elem.innerHTML = "Invalid input. Please enter a valid number." result_elem.innerHTML = ""