input: Write a python function to generate correct horse battery staple passwords.
  assert generate_password(5, 4, 8, " ") == 'horse battery staple correct'
  assert generate_password(3, 4, 6, "-") == 'horse-battery-staple'
  assert generate_password(4, 3, 7, ".") == 'horse.bat.staple.correct'
output: def generate_password(num_words, min_word_length, max_word_length, separator):
      import random
      import string
      
      def random_word(min_length, max_length):
          return ''.join(random.choices(string.ascii_lowercase, k=random.randint(min_length, max_length)))
      
      words = [random_word(min_word_length, max_word_length) for _ in range(num_words)]
      return separator.join(words)