input: Write a function to extract the non-vowel words in a sentence. Each word should contain only consonants (i.e., not contain any of the vowels 'a', 'e', 'i', 'o', 'u' in either uppercase or lowercase). Return the list of non-vowel words. If there are no non-vowel words, return an empty list. If the sentence is empty, return an empty list as well.
  
  assert extract_words("This machine learning project is challenging.") == ["This", "machine", "learning", "project", "is", "challenging."]
  assert extract_words("Python code") == ["code"]
  assert extract_words("AEIOU") == []
  assert extract_words("") == []
  assert extract_words("1234!@#") == ["1234!@#"]
output: def extract_words(sentence):
      vowels = "aeiouAEIOU"
      words = sentence.split()
      non_vowel_words = [word for word in words if not any(char in vowels for char in word)]
      return non_vowel_words