Python:将整数分解为指数?

Python: breaking down integers into exponents?

我想创建一个将整数转换为以 27 为底的指数的函数。该函数应该 return 一个列表,其中第一个位置是最大指数的倍数,最后一个是最终指数.因此,例如,65 将 return [2,11]。我试过使用 int % b,其中 b 是循环中 27 的递增幂。然而,结果变得非常复杂。有帮助吗?

def convert(x, base):
  res = []
  while x:
    res.append(x%base)
    x //= base # this line depends on Python's version!
  res.reverse()
  return res

试试这个:

def base_27(num):
    if num == 0:
        return []
    q, r = divmod(num, 27)
    result = base_27(q)
    result.append(r)
    return result