input: Write a function to print a formatted table of grades for a given set of students. The function should take a list of student dictionaries as an input, where each dictionary contains 'name' and 'grade' keys. The output should be a well-formatted table with columns for 'Name' and 'Grade', aligned properly. If the list of students is empty, the function should print nothing.
  assert print_grade_table([
      {'name': "John", 'grade': 92},
      {'name': "Alice", 'grade': 95},
      {'name': "Bob", 'grade': 87}
  ]) == None
  assert print_grade_table([]) == None
output: def print_grade_table(students):
      if not students:
          return
      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']}")