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.
      >>> generate_password()
      'aB3dEfG8'
      >>> generate_password()
      '1XyZw2Q3'
      """
      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()