小编Aox*_*oxx的帖子

**recurPower**我明白了,但我不明白

好的,让我先说是这是功课.但我有答案(玩它直到它工作)我的问题更多关于"如何"让老师多次解释(在线课程),但我只是没有得到它,希望有人在这里更擅长以我对他们的看法来解释事物.

这是作业:

编写一个函数recurPower(base, exp),base**exp通过递归调用自身来解决相同问题的较小版本,然后将结果乘以base求解初始问题.

此函数应该包含两个值 - base可以是浮点数或整数; exp将是≥0的整数.它应该返回一个数值.您的代码必须是递归的 - 使用**不允许运算符或循环结构.

好吧,经过几次试验和试错后(我的意思是几个小时的变化)我想出了正确的代码,它解决了正确的答案,但我不明白怎么做.

这是代码:

def recurPower(base, exp):
'''
base: int or float.
exp: int >= 0

returns: int or float, base^exp
'''

if exp <= 0:
    return 1


return base * recurPower(base, exp - 1)
Run Code Online (Sandbox Code Playgroud)

第一件事是exp = 0然后返回为1的部分....我不明白为什么会有任何回复1.第二是如果代码的最后部分,如果没有循环,exp在哪里下降1 ?

python recursion exp

3
推荐指数
1
解决办法
1172
查看次数

标签 统计

exp ×1

python ×1

recursion ×1