不,这不是家庭作业,而是我们的测试学习指南上的内容。我需要了解 return 语句所扮演的角色以及递归所扮演的角色。我不明白为什么该函数在 x = 1 后不会中断。
def thisFunc(x):
print(x)
if x>1:
result=thisFunc(x-1)
print(result)
return x+1
抱歉,我知道这是多么简单,但我确实需要一些帮助。可能为什么我在任何地方都找不到解释......因为它太简单了。
编辑:为什么它会打印出它的作用以及最后 x 的值是什么?抱歉,如果我问得太多,我只是感到沮丧
当您输入带有值的函数时n>1
它打印当前值,然后调用它的 selfn-1
。当内部函数返回时,它返回值n - 1 + 1
这只是n
。因此,该函数打印出值n
两次,一次在内递归之前,一次在内递归之后。
If n == 1
,这是基本情况,该函数仅打印1
一次并且不会再次调用它自己(因此不会得到result
返回打印)。相反,它只是返回,因此为什么1
仅打印一次。
把它想象成洋葱。
calling thisFunc(n)
将导致
n
# what ever the output (via print) of thisFunc(n-1) is
n
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)