input: Write a python program to generate a random password given a set of letters, numbers, and characters. The password should be 8 characters long and should be composed of any character from the set of letters, numbers, and special characters. If no input is provided, the program should generate a default password.
  
  import random 
    
  def generate_password():
      # All the possible characters 
      # that could go into the password 
      string = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"
    
      # Using the choice function of the 
      # random module choose any 
      # character randomly from the set of characters 
      password =  "".join(random.sample(string, 8)) 
      return password
  
  assert generate_password().isalnum()==False
  assert len(generate_password())==8
  assert any(c.isdigit() for c in generate_password())==True
  assert any(c.isalpha() for c in generate_password())==True
  assert any(not c.isalnum() for c in generate_password())==True
output: import random 
    
  def generate_password():
      string = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"
      password =  "".join(random.sample(string, 8)) 
      return password