input: 
  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
      >>> [any(c.islower() for c in generate_password()),
      ... any(c.isupper() for c in generate_password()),
      ... any(c.isdigit() for c in generate_password())]
      [True, True, True]
      """
      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()
  
output:     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()