input: Write a Python function to generate a random account number with a checksum.
  assert len(generate_account_number()) == 10
  assert generate_account_number().startswith('00')
  assert generate_account_number() != generate_account_number()
output: import random
  
  def generate_account_number():
      def luhn_checksum(account_number):
          def digits_of(n):
              return [int(d) for d in str(n)]
          digits = digits_of(account_number)
          odd_digits = digits[-1::-2]
          even_digits = digits[-2::-2]
          checksum = sum(odd_digits)
          for d in even_digits:
              checksum += sum(digits_of(d * 2))
          return checksum % 10
  
      while True:
          account_number = '00' + ''.join([str(random.randint(0, 9)) for _ in range(7)])
          checksum = luhn_checksum(int(account_number + '0'))
          if checksum == 0:
              return account_number + '0'
          else:
              return account_number + str(10 - checksum)