def list_exercises_for_instructors(self): with sqlite3.connect(self.db_path) as conn: db_cursor = conn.cursor() db_cursor.execute(""" SELECT i.id, i.first_name, i.last_name, i.slack_handle, i.specialty, c.name, e.name FROM Instructor i JOIN AssignedExercise ae ON i.id = ae.instructor_id JOIN Exercise e ON ae.exercise_id = e.id JOIN Cohort c ON i.cohort_id = c.id; """) instructor_results = db_cursor.fetchall() instructor_dict = dict() for instructor in instructor_results: instructor_id = instructor[0] first_name = instructor[1] last_name = instructor[2] slack_handle = instructor[3] specialty = instructor[4] cohort = instructor[5] exercise = instructor[6] if instructor_id not in instructor_dict: instructor_dict[instructor_id] = Instructor( first_name, last_name, slack_handle, cohort, specialty) exercise_set = set( instructor_dict[instructor_id].assigned_exercises) exercise_set.add(exercise) instructor_dict[instructor_id].assigned_exercises = list( exercise_set) for instructor_id, instructor in instructor_dict.items(): print( f"{instructor.first_name} {instructor.last_name} has assigned:" ) [ print(f" * {exercise}") for exercise in instructor.assigned_exercises ]