是否可以更改 python 中的数字系统?

Is it possible to change number systems in python?

这听起来可能与许多其他问题相似,但我找不到我的答案。我想知道你是否可以切换任何数字的数字系统。例如,

x = 10
y = int(10, 3)

如何将 x 转换为以 3 为基数的数字系统?这是我见过的解决方案,但没有奏效。我知道二进制、十进制和十六进制系统有一个单独的函数,但我不知道其他数字系统的任何信息。

math.log(yournumber,basenumber)

你能试试这个吗?

来自 ,这是一个函数,它将 return 以您想要的任何基数表示的十进制数的字符串表示形式:

def baseb(n, b):
    e = n//b
    q = n%b
    if n == 0:
        return '0'
    elif e == 0:
        return str(q)
    else:
        return baseb(e, b) + str(q)
>>> baseb(10,3)
'101'

更好的是,您可以使用 numpy:

>>> import numpy as np
>>> np.base_repr(10, 3)
'101'