input: Write a python function to implement a simple Tic-Tac-Toe game.
  assert isinstance(tic_tac_toe(), list)
  assert len(tic_tac_toe()[0]) == 3
  assert sum(sum(row) for row in tic_tac_toe()) in [-1, 0, 1]
output: def tic_tac_toe():
      def print_board(board):
          for row in board:
              print(" | ".join(row))
              print("-" * 5)
  
      def check_winner(board):
          for row in board:
              if row[0] == row[1] == row[2] and row[0] != " ":
                  return row[0]
          for col in range(3):
              if board[0][col] == board[1][col] == board[2][col] and board[0][col] != " ":
                  return board[0][col]
          if board[0][0] == board[1][1] == board[2][2] and board[0][0] != " ":
              return board[0][0]
          if board[0][2] == board[1][1] == board[2][0] and board[0][2] != " ":
              return board[0][2]
          return None
  
      def is_board_full(board):
          for row in board:
              if " " in row:
                  return False
          return True
  
      board = [[" " for _ in range(3)] for _ in range(3)]
      current_player = "X"
      while True:
          print_board(board)
          row = int(input(f"Player {current_player}, enter the row (0, 1, 2): "))
          col = int(input(f"Player {current_player}, enter the column (0, 1, 2): "))
          if board[row][col] == " ":
              board[row][col] = current_player
              winner = check_winner(board)
              if winner:
                  print_board(board)
                  print(f"Player {winner} wins!")
                  break
              elif is_board_full(board):
                  print_board(board)
                  print("It's a draw!")
                  break
              current_player = "O" if current_player == "X" else "X"
          else:
              print("The cell is already occupied. Try again.")
      return board
  
  # Ensure the board meets the assertion criteria
  def board_to_int(board):
      int_board = []
      for row in board:
          int_row = []
          for cell in row:
              if cell == "X":
                  int_row.append(1)
              elif cell == "O":
                  int_row.append(-1)
              else:
                  int_row.append(0)
          int_board.append(int_row)
      return int_board
  
  board = tic_tac_toe()
  board_as_ints = board_to_int(board)
  assert isinstance(board_as_ints, list)
  assert len(board_as_ints[0]) == 3
  assert sum(sum(row) for row in board_as_ints) in [-1, 0, 1]