input: def find_words_with_n_consonants(s, n):
      """Given a string s and a natural number n, create a function that returns a list containing 
      all words in the string s which have exactly n consonants. These words should be returned 
      in the same order they appear in the string s.
      If the provided string s is empty, the function should return an empty list.
      Note: the input string consists solely of alphabetical characters and spaces.
      Examples:
      find_words_with_n_consonants("Mary had a little lamb", 4) ==> ["little"]
      find_words_with_n_consonants("Mary had a little lamb", 3) ==> ["Mary", "lamb"]
      find_words_with_n_consonants("simple white space", 2) ==> []
      find_words_with_n_consonants("Hello world", 4) ==> ["world"]
      find_words_with_n_consonants("Uncle sam", 3) ==> ["Uncle"]
      """
output:     
      vowels = set('aeiouAEIOU')
      words = s.split()
      result = []
      
      for word in words:
          consonant_count = 0
          for char in word:
              if char.isalpha() and char not in vowels:
                  consonant_count += 1
          if consonant_count == n:
              result.append(word)
      
      return result
  