该函数没有按预期提供输出

The function doesn't give the output as expected

我定义了一个函数:
输入:两个数字 l,k
输出:基数 l

中的数字 k

代码:-

def base(k,l):
    result=''
    while k!=0:
        remainder = k%l
        k=k//l
        result= result + str(remainder)
    return result 

当数字可以被基数的任何幂整除时,就会出现问题。
例如:- 如果 base = 2 且 k = 2,则输出为 01 而不是 10。其他一些数字也会发生同样的情况

您需要在前面加上余数:

result = str(remainder) + result

您问的不是效率,而是如何让它发挥作用。

使用

的快速测试
def base(k,l):
    result=''
    while k!=0:
        remainder = k%l
        k=k//l
        result= str(remainder) +  result
    return result 

有效。