|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
0 power(x,y)计算x的y次幂的值:
def power(x,y):
if y:
return x * power(x,y-1)
else:
return 1
print(power(2,3))
疑问:请问x*power(x,y-1)是如何算出的x的y次幂的?以及else:后面的return 1 是什么意思?
我的理解为:return中x * power(x,y-1)是x*x直至y的数为0位置,这个是根据数学常识x的y次幂即为y个x相成,但是在这里是怎么运行的就不清楚了。
另外return 1 是什么意思就不清楚了。这个1参数上面相乘吗?
举个例子,执行power(2,3)
第一次进入函数,y==3, return 2*power(2,2)
第二次进入函数,y==2, return 2*power(2,1)
第三次进入函数,y==1, return 2*power(2,0)
第四次进入函数,y==0, return 1
返回到第三次,return 2*1
返回到第二次,return 2*(2*1)
返回到第一次,return 2*(2*(2*1))
所以最终返回了2*2*2
|
|