input: Write a python function to remove punctuation, stopwords, and lemmatize words in a given text.
  assert process_text("This is a test sentence, which will be processed!") == ['test', 'sentence', 'process']
  assert process_text("Cats running faster than dogs.") == ['cat', 'run', 'fast', 'dog']
  assert process_text("The quick brown fox jumps over the lazy dog.") == ['quick', 'brown', 'fox', 'jump', 'lazy', 'dog']
output: def process_text(text):
      import string
      import nltk
      from nltk.corpus import stopwords
      from nltk.tokenize import word_tokenize
      from nltk.stem import WordNetLemmatizer
  
      # Download resources if not already present
      nltk.download('punkt')
      nltk.download('stopwords')
      nltk.download('wordnet')
  
      # Initialize lemmatizer and stopwords
      lemmatizer = WordNetLemmatizer()
      stop_words = set(stopwords.words('english'))
  
      # Remove punctuation
      text = text.translate(str.maketrans('', '', string.punctuation))
  
      # Tokenize the text
      words = word_tokenize(text)
  
      # Remove stopwords and lemmatize words
      processed_words = [lemmatizer.lemmatize(word.lower()) for word in words if word.lower() not in stop_words]
  
      return processed_words