input: Write a python function to tokenize a sentence and print the part of speech for each word.
  assert pos_tags('This is a sentence.') == ['This: DT', 'is: VBZ', 'a: DT', 'sentence: NN']
  assert pos_tags('I love programming.') == ['I: PRP', 'love: VBP', 'programming: VBG']
  assert pos_tags('The quick brown fox jumps over the lazy dog.') == ['The: DT', 'quick: JJ', 'brown: JJ', 'fox: NN', 'jumps: VBZ', 'over: IN', 'the: DT', 'lazy: JJ', 'dog: NN']
output: def pos_tags(sentence):
      import nltk
      from nltk import pos_tag, word_tokenize
      
      nltk.download('averaged_perceptron_tagger')
      nltk.download('punkt')
      
      tokens = word_tokenize(sentence)
      tagged = pos_tag(tokens)
      
      return [f"{word}: {tag}" for word, tag in tagged]