在 Python 中,int() 函數可以輕鬆地從具有指定基數的字串建立整數。然而,將整數轉換為字串的逆操作可能很棘手。我們的目標是開發一個通用解決方案int2base(num, base),它滿足條件:
int(int2base(x, b), b) == x
這是一個處理任意基數的令人驚訝的簡單解決方案:
def numberToBase(n, b): if n == 0: return [0] digits = [] while n: digits.append(int(n % b)) n //= b return digits[::-1]
這個函數將數字n 轉換為基數b 並回傳數字列表。要將大數轉換為基數577,例如:
numberToBase(67854 ** 15 - 102, 577)
它將以列表形式為您提供正確的結果:
[4, 473, 131, 96, 431, 285, 524, 486, 28, 23, 16, 82, 292, 538, 149, 25, 41, 483, 100, 517, 131, 28, 0, 435, 197, 264, 455]
提供的解決方案表明,有時,當內建函數缺乏所需功能時,需要自訂函數。在這裡,int2base() 透過以下方式克服了限制:
以上是如何在 Python 中高效率地將整數轉換為任意基數的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!