# compute grade point def get_grade_point_if_elif(grade): """Computes grade point using an if/elif/else chain.""" grade = grade.upper() # Standardize input to uppercase if grade == "A": return 4.000 elif grade == "A-": return 3.667 elif grade == "B+": return 3.333 elif grade == "B": return 3.000 elif grade == "B-": return 2.667 elif grade == "C+": return 2.333 elif grade == "C": return 2.000 elif grade == "C-": return 1.667 elif grade == "D+": return 1.333 elif grade == "D": return 1.000 elif grade == "D-": return 0.667 elif grade == "F": return 0.000 else: return "Invalid Grade" # Example usage print(f"Grade A- has {get_grade_point_if_elif('A-')} grade point.") print(f"Grade F has {get_grade_point_if_elif('F')} grade point.") print(f"Grade Z has {get_grade_point_if_elif('Z')} grade point.") def get_grade_point_nested_if(grade): """Computes grade point using nested if/else statements.""" grade = grade.upper() if grade[0] == "A": if len(grade) == 2 and grade[1] == "-": return 3.667 else: return 4.000 elif grade[0] == "B": if len(grade) == 2: if grade[1] == "+": return 3.333 elif grade[1] == "-": return 2.667 return 3.000 elif grade[0] == "C": if len(grade) == 2: if grade[1] == "+": return 2.333 elif grade[1] == "-": return 1.667 return 2.000 elif grade[0] == "D": if len(grade) == 2: if grade[1] == "+": return 1.333 elif grade[1] == "-": return 0.667 return 1.000 elif grade == "F": return 0.000 else: return "Invalid Grade" # Example usage print(f"Grade C+ has {get_grade_point_nested_if('C+')} grade point.") print(f"Grade B- has {get_grade_point_nested_if('B-')} grade point.") print(f"Grade A has {get_grade_point_nested_if('A')} grade point.") def get_grade_point_dict(grade): """Computes grade point using a dictionary lookup.""" grade_map = { "A": 4.000, "A-": 3.667, "B+": 3.333, "B": 3.000, "B-": 2.667, "C+": 2.333, "C": 2.000, "C-": 1.667, "D+": 1.333, "D": 1.000, "D-": 0.667, "F": 0.000, } # .get() provides a default value if the key is not found return grade_map.get(grade.upper(), "Invalid Grade") # Example usage print(f"Grade B+ has {get_grade_point_dict('B+')} grade point.") print(f"Grade C has {get_grade_point_dict('c')} grade point.") print(f"Grade E has {get_grade_point_dict('E')} grade point.")