簡體   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