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