input: Write a function to generate a random password of length 8 characters, containing at least one lowercase letter, one uppercase letter, and one number. If the generated password does not meet these criteria, it should regenerate the password until the criteria are met.
  
  def generate_password():
      from random import choice
      import string
      chars = string.ascii_uppercase + string.ascii_lowercase + string.digits
      password = ''.join(choice(chars) for i in range(8))
      if any(c.islower() for c in password) and any(c.isupper() for c in password) and any(c.isdigit() for c in password):
          return password
      else: 
          return generate_password()
  
  assert len(generate_password())==8
  assert any(c.islower() for c in generate_password())
  assert any(c.isupper() for c in generate_password())
  assert any(c.isdigit() for c in generate_password())
output: def generate_password():
      from random import choice
      import string
      chars = string.ascii_uppercase + string.ascii_lowercase + string.digits
      password = ''.join(choice(chars) for i in range(8))
      if any(c.islower() for c in password) and any(c.isupper() for c in password) and any(c.isdigit() for c in password):
          return password
      else: 
          return generate_password()