input: Write a function to generate a random password of length 8, which consists of alphanumeric characters and at least one special character. If the generated password does not include any special character, the function should regenerate the password until it meets the requirement.
  assert generate_password()==any(map(lambda x: x in string.punctuation, generate_password()))
  assert generate_password()==any(map(lambda x: x in string.punctuation, generate_password()))
output: import random
  import string
  
  def generate_password():
      while True:
          password = ''.join(random.choices(string.ascii_letters + string.digits + string.punctuation, k=8))
          if any(char in string.punctuation for char in password):
              return password