簡體   English   中英

str()在我的函數中不返回字符串

[英]str() not returning string in my function

因此,我定義了一個遞歸函數numToBaseB,該函數將以10為底的給定數字轉換為2到10之間的其他任何底數。所需的輸出是字符串,但是由於某種原因,我一直在獲取int值。

def numToBaseB(num, b):
    if num == 0:
        return ''
    elif b > 10 or b < 2:
        return "The base has to be between 2 and 10"
    else:
        return numToBaseB(num // b, b ) + str(num % b)

所以對我來說: numToBaseB(4, 2)將返回

100

而不是所需的輸出:

'100'

您的程序按設計工作:

>>> numToBaseB(1024,2)
'10000000000'
>>> numToBaseB(4,2)
'100'

當然,如果您執行print(numToBaseB(4,2)) ,則不會顯示引號。

但是,如果您想要引號,則可以始終這樣做:

print (" ' "+numToBase(4,2)+" ' ")

但是在程序中,如果仍然使用str(),它將被視為課程字符串。

:)

編輯:在電話上鍵入,為此感到瘋狂:(

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM