Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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数字系统转换_Python - Fatal编程技术网

Python数字系统转换

Python数字系统转换,python,Python,如何将数字从第三个数字系统转换到第十个,我这里有一个从第十个数字到第七个数字的例子: def fromtenthtoseven(x): result=" " while(x>0): result+=str(x%7) x=x//7 return(int(result[::-1])) print(fromtenthtoseven(512)) 第10个系统是512,第7个系统将是1331由于懒惰,我保留了您的代码段,该代码段将从base10转换为

如何将数字从第三个数字系统转换到第十个,我这里有一个从第十个数字到第七个数字的例子:

def fromtenthtoseven(x):
  result=" "
  while(x>0):
    result+=str(x%7)
    x=x//7
  return(int(result[::-1]))
print(fromtenthtoseven(512))

第10个系统是512,第7个系统将是1331

由于懒惰,我保留了您的代码段,该代码段将从base10转换为base7,并添加了一些要转换为base10的内容

def fromtenthtoseven(x, frombase, tobase):
    result=" "
    if (frombase != 10):
        sx = str(x)
        p = 1
        b = 0
        while (sx != ""):
            d = int(sx[-1])
            sx = sx[:-1]
            b = b + d * p
            p = p * frombase
    else:
        b = x
  
    while(b>0):
        result+=str(b%tobase)
        b=b//tobase
    return(int(result[::-1]))
print(fromtenthtoseven(512, 10, 7))
print(fromtenthtoseven(1331, 7, 10))
print(fromtenthtoseven(1331, 7, 5))
结果看起来像

$ python x.py
1331
512
4022

当然有10亿种方法可以做得更好,但它是有效的,你是说“从基数3转换到基数10”吗?对于每个数字,只需将其乘以
3**digit\u position
,其中digit\u position从右边开始,索引为0,并保持一个运行的sum,这只是一个例子,我需要从基数3到基数10
int('200222',,3)
看起来您的意思是在任意基之间转换,