如何將數字從第 3 個數字系統轉移到第 10 個,我這里有一個從第 10 個到第 7 個的例子: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
1 回答

LEATH
TA貢獻1936條經驗 獲得超7個贊
由于懶惰,我保留了您從 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
當然有十億種方法可以更好地做到這一點,但它確實有效
添加回答
舉報
0/150
提交
取消