input: Write a function to print a formatted table of grades for a given set of students. The function should iterate through each student's dictionary and print their name and grade aligned properly in a table. If the student list is empty, the function should print an empty table.
  
  def print_grade_table(students):
      if not students:
          print("Name   Grade")
          print("--------------")
          return
      max_name_length = max(len(student['name']) for student in students)
      line_template = "{{name:<{max_name_length}}}   {{grade}}".format(max_name_length=max_name_length)
      header = line_template.format(name='Name', grade='Grade')
      sep = '─' * len(header)
      print(header)
      print(sep)
      for student in students:
          print(line_template.format(**student))
  
  assert print_grade_table([{'name': "John", 'grade': 92}, {'name': "Alice", 'grade': 95}, {'name': "Bob", 'grade': 87}])
  assert print_grade_table([])
output: def print_grade_table(students):
      if not students:
          print("Name   Grade")
          print("--------------")
          return
      max_name_length = max(len(student['name']) for student in students)
      line_template = "{{name:<{max_name_length}}}   {{grade}}".format(max_name_length=max_name_length)
      header = line_template.format(name='Name', grade='Grade')
      sep = '─' * len(header)
      print(header)
      print(sep)
      for student in students:
          print(line_template.format(**student))