关于用递归求幂运算的问题
这是python022讲的课后习题,课后答案的方法我看懂了,但是我自己的方法我不知道该怎么改正def power(x,y):
if y == 1:
return 1
else:
y -= 1
return x*power(x,y)
print(power(2,3))
用这个代码只能求出来x的y-1次幂。如果我把y-=1放在return后面这个语句就不会执行程序报错了。
改成return x*power(x,y+1)一样会报错,这一条为什么会报错我不太懂
还有就是该如何改进我这个程序才能正确运行啊 把 y == 1 改为 y == 0,因为任何一个数的 0 次方(不是 1 次方)都为 1 。
代码帮你改好了:
def power(x, y):
if y == 0:
return 1
else:
y -= 1
return x * power(x, y)
print(power(2, 3)) zltzlt 发表于 2020-3-3 18:20
把 y == 1 改为 y == 0,因为任何一个数的 0 次方(不是 1 次方)都为 1 。
代码帮你改好了:
啊对啊!!!我脑子秀逗了。。。
感谢感谢感谢
页:
[1]