首页 > 解决方案 > 该函数未按预期提供输出

问题描述

我通过以下方式定义了一个函数:
输入:两个数字 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。同样的情况也发生在其他一些数字中

标签: pythonfunctionbinaryhex

解决方案


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

使用快速测试

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

作品。


推荐阅读