这是我的代码,我不知道这段代码无效。
def theBase(n, b):
convertString = "0123456789"
if n < b:
return convertString[n]
else:
return toBase(n//b,b) + convertString[n%b]
def toBase(n, b):
print(theBase(n, b), end="")
def main():
n = int(input())
b = int(input())
print(n, "in base", b, "is ", end="")
toBase(n, b)
if __name__ == "__main__":
main()
不要修改主要功能
答案 0 :(得分:1)
问题出现是因为函数toBase()
返回None
,因为没有显式的return语句。然后函数theBase()
中的最后一行尝试将toBase()
(无为)的返回值添加到字符串中,这会给出您看到的异常。
我认为你有一个简单的错误,theBase()
应该调用自己,而不是toBase()
(参见该函数的最后一行)。以下将解决问题:
def theBase(n, b):
convertString = "0123456789"
if n < b:
return convertString[n]
else:
return theBase(n//b,b) + convertString[n%b]