def test(i):
if i == 1:
return 1
if i == 2:
return 1
if i >= 3:
return test(i - 1) + test(i - 2)
这是求第i项的数字是多少的函数。
这里对return有个疑问,如果函数参数i=1 返回1,然后退出函数。i=2,返回2,退出函数。
如果i=3,他会返回一个test(2)+test(1)。重点是:我记得当执行return后,自动退出函数,所以函数不会再回到前两行找到test2与test1对应的数值,所有当i=3时候,只返回test(2)+test(1)。我不知道这样理解哪里错了,求各位指正,🙏!
理解没问题,i=3的时候就只是返回test(2)+test(1)
i=3 的时候
test(3)
--test(2)+test(1)
=1+1=2
i=4
test(4)
-- test(3)+test(2)
=3