因此,每当我尝试返回可选参数时,或者至少我认为这就是为什么发生这种情况时,我发现python中发生了一件奇怪的事情。
这是我的代码
def reverse(string, output = ""):
if string == "":
print "winner: ", output
return output
output = output + string[-1]
string = string[:-1]
reverse(string, output=output)
当我运行它时,会发生以下情况:
>>> output = reverse("hello")
winner: olleh
>>> print output
None
有人知道为什么我的回报总是“无”吗?
您必须返回递归调用的返回值。
def reverse(string, output = ""):
if string == "":
print "winner: ", output
return output
output = output + string[-1]
string = string[:-1]
return reverse(string, output=output)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句