【发布时间】:2013-10-06 20:20:20
【问题描述】:
所以我定义了一个递归函数 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'
【问题讨论】:
-
这是不可能的。如果您
print输出结果,那么这是预期的行为,因为引号仅显示在控制台中以帮助您查看变量是什么。 -
是的,Tim Pietzcker 指出了同样的事情,不过谢谢!