所以我已经定义了一个递归函数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'
答案 0 :(得分:1)
您的计划按设计运作:
>>> numToBaseB(1024,2)
'10000000000'
>>> numToBaseB(4,2)
'100'
当然,如果你print(numToBaseB(4,2))
,则不会显示引号。
答案 1 :(得分:0)
如果您想要引号,可以随时执行此操作:
print (" ' "+numToBase(4,2)+" ' ")
但是在程序中,如果你使用str(),它将被视为字符串。
:)
编辑:在手机上打字,对不起这种疯狂:(