def digitDupe(pan): panSpan = [0,0,0,0,0,0,0,0,0] for index in range(int(math.log10(pan))+1): value = DoubleBase.getIndex10(pan, index) if(panSpan[value-1] == 1): return True else: panSpan[value-1] = 1; return False
def getDigits(digit): inputDigit = digit digit -= 1 count = 1 magnitude = 0 finished = False if(not finished): if(digit - 9 > 0): digit -= 9 count += 9 else: finished = True magnitude = 1 if(not finished): if(digit - 90*2 > 0): digit -= 90*2 count += 90 else: finished = True magnitude = 2 if(not finished): if(digit - 900*3 > 0): digit -= 900*3 count += 900 else: finished = True magnitude = 3 if(not finished): if(digit - 9000*4 > 0): digit -= 9000*4 count += 9000 else: finished = True magnitude = 4 if(not finished): if(digit - 90000*5 > 0): digit -= 90000*5 count += 90000 else: finished = True magnitude = 5 if(not finished): if(digit - 900000*6 > 0): digit -= 900000*6 count += 900000 else: finished = True magnitude = 6 assert finished count += int(digit/magnitude) subDigit = digit%magnitude print "input digit is", inputDigit print "digit is",digit print "magnitude is",magnitude print "count is",count print "subDigit is", subDigit countOrder = getNumDigits(count) print "countOrder is", countOrder returnValue = DoubleBase.getIndex10(count, countOrder -subDigit-1) print "return value is",returnValue return returnValue