code: def generate(length):
      
      if not isinstance(length, int) or length < 2:
          raise TypeError('length must be a positive integer greater than 1.')
  
      # first digit cannot be 0
      digits = [random.randint(1, 9)]
  
      for i in range(length-2):
          digits.append(random.randint(0, 9))
      digits.append(get_check_digit(''.join(map(str, digits))))
  
      return ''.join(map(str, digits))
docs: Generates random and valid card number which is returned as a string.