input: from random import choice
  import string
  
  def generate_password() -> str:
      """Generate a random password of length 8 characters, containing at least one lowercase letter,
      one uppercase letter, and one number.
  
      >>> len(generate_password()) == 8
      True
      >>> any(c.islower() for c in generate_password())
      True
      >>> any(c.isupper() for c in generate_password())
      True
      >>> any(c.isdigit() for c in generate_password())
      True
      """
      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()
output:     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()