input: Write a function to extract the non-vowel words in a given sentence. Return a list of words that do not contain any vowels (both uppercase and lowercase). If the sentence is empty, return an empty list.
  
  def extract_words(sentence):
      non_vowel_words = []
      words = sentence.split()
      vowels = ['a','e','i','o','u','A','E','I','O','U']
      for word in words:
          if not any(char in vowels for char in word):
              non_vowel_words.append(word) 
      return non_vowel_words
  
  assert extract_words("This machine learning project is challenging.") == ['This', 'machine', 'learning', 'project', 'is', 'challenging.']
  assert extract_words("Brrr! Grrr! Hmm.") == ['Brrr!', 'Grrr!', 'Hmm.']
  assert extract_words("") == []
  assert extract_words("AEIOU") == []
  assert extract_words("The quick brown fox jumps over the lazy dog") == ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"]
output: def extract_words(sentence):
      non_vowel_words = []
      words = sentence.split()
      vowels = ['a','e','i','o','u','A','E','I','O','U']
      for word in words:
          if not any(char in vowels for char in word):
              non_vowel_words.append(word) 
      return non_vowel_words