我的递归函数似乎不起作用 - 它应该a
获取参数并b
并返回a^b
.
在这里:
def power(a, b):
If b == 0:
return
return a * power(a, b-1)
power(2, 3)
基本大小写返回语句为空。您应该返回 1(因为a^0 = 1
表示a != 0
(。
if b == 0:
return 1
不过,您可能希望单独处理a = 0
的情况,因为0^0
在数学上是未定义的:
if a == 0:
if b > 0:
return 0
else
# raise an exception here?
def power(a, b):
if b == 0:
return 1;
return a * power(a, b - 1);