为什么总是将输出显示为1? - python

def power(x,n):
    if n == 0:
        return 1
    elif n % 2 == 0:
        return power(x * x, n % 2)
    else:
        return x * power(x, n - 1)
print power(2,3)

我输入的任何内容都显示1或2。有人可以帮助我哪里出错了。我是编程的新手。谢谢

python大神给出的解决方案

尝试更改此行:

return power(x * x, n % 2)

对此:

return power(x * x, n / 2)

如果n可被2整除,则您正在计算pow(x * x, 0),它将始终返回1。