这是我的代码,我只是不明白这个代码不起作用。
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()
不要修改main函数
出现问题的原因是函数toBase()
返回,None
因为没有明确的 return 语句。然后函数中的最后一行theBase()
尝试将返回值toBase()
(即 None)添加到一个字符串中,这会给您提供您看到的异常。
我认为您有一个简单的错误,theBase()
应该在哪里调用自己,而不是toBase()
(请参阅该函数的最后一行)。以下将解决问题:
def theBase(n, b):
convertString = "0123456789"
if n < b:
return convertString[n]
else:
return theBase(n//b,b) + convertString[n%b]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句