| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | #!/usr/bin/env python3# -*- coding: utf-8 -*-import mathclass AlgorithmBaseOn35:    letters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',               'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',               'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',               'U', 'V', 'W', 'X', 'Y', 'Z']    len1 = len(letters)    def getLetter(self, number):        tmp = int(number / self.len1)        current = number % self.len1        if tmp >= self.len1:            return self.getLetter(tmp) + self.letters[current]        else:            return self.letters[tmp] + self.letters[current]    def add(self, a, b):        sum = a + b        serial_number = self.getLetter(sum)        return serial_number    def __findLetter(self, char):        for i in range(self.len1):            if char == self.letters[i]:                return i        return -1    def __drop0(self, text):        char = text[0]        if char == '0':            return self.__drop0(text[1:])        else:            return text    def to10(self, serial):        serial = self.__drop0(serial)        print(serial)        len1 = len(serial)        print(len1)        sum = 0        for char in serial:            tmp = self.__findLetter(char)            if tmp == -1:                return None            print(tmp)            sum += (tmp * math.pow(35, len1 - 1))            len1 -= 1        return sum
 |