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