|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是递归一课课后作业的代码(求x的y的幂次方):
- def power(x,y):
- if y:
- return x*power(x,y-1)
- else:
- return 1
复制代码
带入 power(5,6)
我对这段代码的理解是 如果6不是0,代码就执行 return x*power(x,y-1)这段代码
当y=6,带入5*power(5,6-1)然后再返回函数开头def powe(5,5)
如此循环(这里应该叫递归还是循环我也不懂)6次:5*5*5*5*5*5后y=0执行else返回1后
结果等于:5*5*5*5*5*5*1
思路是否这样??
描述不是很清晰 忘各位老师看是否是这个思路(如果不是请教各位老师给出清晰的思路 ,感谢感谢)
x*power(x,y-1)*power(x,y-1)*power(x,y-1)*power(x,y-1)*power(x,y-1)*1
最后1层返回1 倒2层= 5*1
倒2层返回5*1 倒3层= 5*5*1
倒3层返回5*5*1 倒4层= 5*5*5*1
倒4层返回5*5*5*1 倒5层= 5*5*5*5*1
倒5层返回5*5*5*5*1 倒6层= 5*5*5*5*5*1
倒6层返回5*5*5*5*5*1 倒7层= 5*5*5*5*5*5*1
|
|