首先,如果标题不正确,我很抱歉。 我正在尝试构建一个程序,将基本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 谢谢你的帮助
答案 0 :(得分:2)
这是一个递归函数,它返回列表中整数的基本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]