input: Write a function to generate a checkerboard pattern of size 7x7, where '#' represents a filled square and ' ' represents an empty square. The pattern should alternate between filled and empty squares row by row and column by column, starting with a filled square at the top-left corner.
  assert checkerboard()
  for i in range(7):
      for j in range(7):
          if (i + j) % 2 == 0:
              print('#', end='')
          else:
              print(' ', end='')
      print()
output: def checkerboard():
      board = []
      for i in range(7):
          row = []
          for j in range(7):
              if (i + j) % 2 == 0:
                  row.append('#')
              else:
                  row.append(' ')
          board.append(''.join(row))
      return board