[英]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.