Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中将以10为基数的整数列表转换为以4为基数的整数列表_Python_List - Fatal编程技术网

在python中将以10为基数的整数列表转换为以4为基数的整数列表

在python中将以10为基数的整数列表转换为以4为基数的整数列表,python,list,Python,List,首先,如果标题不正确,我很抱歉。 我正在尝试构建一个程序,将一个以10为基数的整数列表转换成二进制字符串 a = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 我想把它转换成基数4。也许应该是这样 b4 = [[00],[01],[02],...[33]] NameError: name 'pix' is not defined 下面是我到目前为止写的内容 def base10base4(pix,b): pix = [0,1,2,3,4,5,

首先,如果标题不正确,我很抱歉。 我正在尝试构建一个程序,将一个以10为基数的整数列表转换成二进制字符串

a = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
我想把它转换成基数4。也许应该是这样

b4 = [[00],[01],[02],...[33]]
NameError: name 'pix' is not defined
下面是我到目前为止写的内容

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))
当我运行这段代码时,它会给我这样的错误

b4 = [[00],[01],[02],...[33]]
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]

您需要在
base10base4()
函数之外定义
pix
。代码中还有更多的问题。
base10base4
实际上并不返回任何内容。为什么要对范围内的i(pix)执行
?循环基本上会将小于pix的所有数字转换为四进制(base4),然后丢弃结果。谢谢你的回答谢谢你的回答。通过“假设列表仅包含0到15之间的数字”,您的意思是如果列表中的数字超过15,此代码将不起作用吗?对不起…您的代码似乎以小数形式返回结果Mr@Kaustav Datta如果我要更改数字超过15的基数,我是否必须添加一些内容?不,我编写了之前的代码,试图对您的代码进行最小的更改,以显示您的去向错误,以及如何修复它。我编辑了上面的代码,其中我编写了一个通用函数来将num转换为任意基。