所以我定義了一個遞歸函數numToBaseB,它將基數爲10的給定數字轉換爲2到10之間的任何其他基數。期望的輸出是一個字符串,但出於某種原因,我不斷收到一個int。str()不返回函數中的字符串
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'
這是不可能的很抱歉,如果你'print'ing出來的結果,那麼這是預期的行爲,引用只顯示在控制檯上,以幫助你看看變量是什麼。 – Blender
是的,蒂姆Pietzcker指出了同樣的事情,謝謝! – user2852579