pythonで10進数から36進数に基数変換しなければならなかったのでGoogle先生に
「python base36」
で、教えてもらいました.
いちばん最後のでよいのかな
import string, mathint2base = lambda a, b: ''.join(
[(string.digits + string.lowercase + string.uppercase)[(a/b**i)%b]
for i in xrange(int(math.log(a, b)), -1, -1)]
)num = 1412823931503067241
test = int2base(num, 36)
test2 = int(test, 36)
print test2 == num
int2baseという関数がそれです.
int2base(x, base)というインターフェースになっています.
確認
>>> int2base(36, 36)
'10'
>>> int2base(1, 36)
'1'
>>> int2base(2, 36)
'2'
>>> int2base(36*36, 36)
'100'