繁体   English   中英

function 没有按预期提供 output

[英]The function doesn't give the output as expected

我通过以下方式定义了 function:
输入:两个数字 l,k
output:基数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,则 output 是 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 

作品。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM