input: Write a function to find the most efficient path for a robot to take from its current location to the destination. The function should return the path as a list of positions, or None if no path is found. The input consists of the start and end coordinates, and the output is the path taken.
  assert find_path((4, 2), (9, 9))==[(4, 2), (5, 2), (6, 2), (7, 2), (8, 2), (9, 2), (9, 3), (9, 4), (9, 5), (9, 6), (9, 7), (9, 8), (9, 9)]
  assert find_path((0, 0), (2, 2))==[(0, 0), (1, 0), (2, 0), (2, 1), (2, 2)]
  assert find_path((1, 1), (1, 1))==[(1, 1)]
  assert find_path((3, 3), (5, 5))==[(3, 3), (4, 3), (5, 3), (5, 4), (5, 5)]
  assert find_path((1, 1), (5, 5))==[(1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5)]
output: def find_path(start, end):
      if start == end:
          return [start]
      
      path = []
      current = start
      while current != end:
          path.append(current)
          if current[0] < end[0]:
              current = (current[0] + 1, current[1])
          elif current[0] > end[0]:
              current = (current[0] - 1, current[1])
          elif current[1] < end[1]:
              current = (current[0], current[1] + 1)
          elif current[1] > end[1]:
              current = (current[0], current[1] - 1)
      path.append(end)
      return path