用递归编写一个 power() , 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的y次方,可以用x乘以x的y-1次方,x的y-1次方怎么来呢,用x乘以x的y-2次方,以此类推,直到y-n为0的时候,x的0次幂是1,那反过来就知道了x乘以x的0次方为x,递归的思路非常考验正逆思维。但其实数学公式列好了,编程也简单。 power(2 , 3) = 2 * power(2 , 2) = 2 * 2 * power(2 , 1) = 2 * 2 * 2 * power(2 , 0) = 2 * 2 * 2 * 1 本帖最后由 dragov 于 2022-10-23 17:22 编辑
页:
[1]