小编Mo *_*ani的帖子

将数字的基数更改为给定数字

我必须编写一个递归函数,它在10个基数中得到一个数字(n)并将其转换为给定的数字基数(k)并返回一个列表,其中的组件是最终的数字,例如f(5, 3)必须得到[1, 2]基数3中的5是12,还是f(22, 3)必须结果[2, 1, 1].

这是我试过的代码:

def cb(n, k):
    b = []
    if n == 0:
        b.append(0)
    if n < k:
        b.append(n)
    if n == k:
        b.append(10)
    else:
        a = n // k
        b.append(n - ((n // k) * k))
        if a < k:
            b.append(a)
        else:
            cb(a, k)

    return b

print(cb(22, 3))
Run Code Online (Sandbox Code Playgroud)

实际上我对它有很多想法,但由于我不太擅长编写代码,所以我不能再进一步了.感谢您对我的代码的帮助和修改.

python

1
推荐指数
1
解决办法
112
查看次数

标签 统计

python ×1