递归语句错误

时间:2017-04-16 16:49:16

标签: python python-3.x recursion python-2.x

好吧所以我似乎在我的主要功能中遇到了问题。我能够同时输入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()

1 个答案:

答案 0 :(得分:0)

你应该将base和exponent类型转换为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()