input: Write a function that takes a list of integers and returns a list of tuples where each tuple contains the index and the square of each number in the original list.
  
  def square_index(nums):
      return [(index, num ** 2) for index, num in enumerate(nums)]
  
  assert square_index([1, 2, 3, 4, 5]) == [(0, 1), (1, 4), (2, 9), (3, 16), (4, 25)]
  assert square_index([0, -1, -2, -3]) == [(0, 0), (1, 1), (2, 4), (3, 9)]
  assert square_index([]) == []
  assert square_index([5]) == [(0, 25)]
  assert square_index([2, 4, 6, 8]) == [(0, 4), (1, 16), (2, 36), (3, 64)]
output: def square_index(nums):
      return [(index, num ** 2) for index, num in enumerate(nums)]