python第22课课后题动动手答案疑问
本帖最后由 fhqitxu 于 2017-5-24 12:32 编辑使用递归编写一个power()函数模拟内建函数pow(),即power(x,y)为计算并返回x的y次幂的值。
def power(x, y):
if y:
return x * power(x, y-1)
else:
return 1
print(power(2, 3))
这段程序中return x * power(x, y - 1),是怎么进行运算的,求过程或解释,幂运算在表达式中是怎么计算的 def power(x, y):
if y:
return x * power(x, y-1)
else:
return 1
print(power(2, 3))
power(2,3) return 2*power(2,2)
power(2,2) return 2*power(2,1)
power(2,1) return 2*power(2,0)
power(2,0) return 1
逆推回去
power(2,3) return 2*power(2,2) = 2*2*power(2,1) = 2*2*2*power(2,0) = 2*2*2*1
页:
[1]