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 a new password until it does. If a valid password is generated, return it. The function should require no input parameters.
  
  assert generate_password()=="G8jLm5pK"
  assert generate_password()=="Z9qWx6rS"
  assert generate_password()=="N4bVc7fM"
  assert generate_password()=="H2lPj8kQ"
  assert generate_password()=="R1tYz3wX"
output: import random
  import string
  
  def generate_password():
      while True:
          password = ''.join(random.choices(string.ascii_letters + string.digits, k=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