求大神解答
def one(x):if x==0:
return 0
if x==1:
return 1
return one(x-1)+one(x-2) 求调用详细过程最好能给划出来谢谢!!
print(one(20))
20太长了
给你写一下one(6)吧
def one(x):
if x==0:
return 0
if x==1:
return 1
return one(x-1)+one(x-2)
print(one(6))
#one(6)
#=one(5)+one(4)
#=one(4)+one(3)+one(3)+one(2)
#=one(3)+one(2)+one(2)+one(1)+one(2)+one(1)+one(1)+one(0)
#=one(2)+one(1)+one(1)+one(0)++one(1)+one(0)+1+one(1)+one(0)+1+1+0
#=one(1)+one(0)+1+1+0+1+0+1+1+0+1+1+0
#=1+0+1+1+0+1+0+1+1+0+1+1+0
#=8
#最后输出的是8 def one(x):
if x==0:
return 0
if x==1:
return 1
return one(x-1)+one(x-2)#第1次参数等于20,也就是x=20,直接执行这句。这句首先调用one(19)
#再调用 one(18),再计算one(19)+one(18)。
#从数学上理解:one(19)+one(18)=(one(18)+one(17))+(one(17)+one(16))
#自己试试把右边分解推算下咯。
print(one(20)) #程序从这里开始运行,把20作为参数传入并调用内嵌函数one()
页:
[1]