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到基数10int('200222',,3)
看起来您的意思是在任意基之间转换,