首先,如果标题不正确,我很抱歉。 我正在尝试构建一个程序,将 10 进制整数列表转换为其二进制字符串。例如,我有这个列表
a = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
我想将它转换为基数 4。也许它应该看起来像这样
b4 = [[00],[01],[02],...[33]]
以下是我到目前为止所写的内容
def base10base4(pix,b):
pix = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
for i in range(pix):
digits = []
while pix > 0:
digits.insert(0, pix % b)
pix = pix // b
print(base10base4(pix[i], 4))
当我运行这段代码时,它给我这样的错误
NameError: name 'pix' is not defined
我对 Python 还很陌生。我错过了什么或者我需要更改整个代码吗?我正在使用Python 3.5 谢谢您的帮助
最佳答案
这是一个递归函数,它返回列表中整数的基数 b 表示形式的字符串列表
def convertToBase(num,base):
q=num/base
r=num%base
if (q == 0):
return str(r)
else:
return convertToBase(q,base) + str(r)
pix = [0,3,15,56,12,34] #the list of numbers you want converted to base b
print [convertToBase(x,4) for x in pix]
关于python - 在python中将基数为10的整数列表转换为基数为4的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34784379/