在return这一行加了abc和不加,计算的结果分别是8和9. 我用debug调试后发现加abc后来来回回计算了好多回,但是我看不懂,希望解答
def abc(x):
if x==1:
return 1
elif x==2:
return 1
else:
return abc(x-1)+abc(x-2) #加了abc和不加得到的结果不一样。
print(abc(6))
在return这一行加了abc和不加,计算的结果分别是8和9. 我用debug调试后发现加abc后来来回回计算了好多回,但是我看不懂,希望解答
def abc(x):
if x==1:
return 1
elif x==2:
return 1
else:
return abc(x-1)+abc(x-2) #加了abc和不加得到的结果不一样。
print(abc(6))
abc的逻辑是,如果输入的数字==1或者==2,那么返回1,否则,再对输入的数字进行-1,-2并进行abc计算相加。
比如输入abc(3),那么abc(3) = abc(2)+abc(1)=1+1,也就是函数中调用自己。
递归,好在6比较小,画了一个很艹的图。