递归语句错误

Recursive Statement Error

好吧,我的主要功能似乎有问题。我还可以同时输入 Base 和 Exponent,当它移动到下一个函数时,它会输出不受支持的操作数错误。我不确定我做错了什么。基本上我要做的就是输入一个底数和指数,然后输出答案。

我目前正在用 2.x 写作,但是,我也可以使用 3.x 下面是我当前的代码。

def power (base, exponent):
    if exponent == 0:
        return base
    else :
        return base * power(base, exponent - 1)


def main():
    base = input('Please Enter An Integer for the Base: ')
    exponent = input ('Please Enter An Exponent: ')
    print(power(base,exponent))
main()

你应该将基数和指数类型转换为int/float ...因为输入语句的类型是str.

以下代码有效:

def power (base, exponent):
    if exponent == 0:
        return 1
    if exponent == 1:
        return base
    else :
        return base * power(base, exponent - 1)

def main():
    base = int(input('Please Enter An Integer for the Base: '))
    exponent = int(input ('Please Enter An Exponent: '))
    print(power(base,exponent))
main()