递归函数使 a^b

  • 本文关键字:递归函数 python
  • 更新时间 :
  • 英文 :


我的递归函数似乎不起作用 - 它应该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);