input: Write a function to print a formatted table of grades for a given set of students. The function should take a list of dictionaries, each representing a student with keys 'name' and 'grade'. The table should include a header and adjust the length of the name column according to the longest student name.
  assert print_grade_table([{'name': "John", 'grade': 92}, {'name': "Alice", 'grade': 95}, {'name': "Bob", 'grade': 87}])==None
output: def print_grade_table(students):
      max_name_length = max(len(student['name']) for student in students)
      print(f"{'Name':<{max_name_length}} | Grade")
      print("-" * (max_name_length + 3) + "|-----")
      for student in students:
          print(f"{student['name']:<{max_name_length}} | {student['grade']}")