>> add_three = repeated(increment, 3) >>> add_three(5) 8 >>> repeated(triple, 5)(1) # 3 * 3 * 3 * 3 * 3 * 1 243 ...-Go服务器开发" />

ZBLOG

def repeated(operator, n): """ f:计算的规则 n:累计计算的次数 函数的返回值是n次累计计算f的函数 请使用上面定义的compose1函数进行代码简化 >>> add_three = repeated(increment, 3) >>> add_three(5) 8 >>> repeated(triple, 5)(1) # 3 * 3 * 3 * 3 * 3 * 1 243 ...

你可以使用递归来实现重复计算的功能,具体代码如下:

def repeated(operator, n):
    def helper(x):
        if n == 0:
            return x
        else:
            return operator(repeated(operator, n-1)(x))
    return helper

这样,你就可以通过调用 repeated 函数来实现重复计算了。例如:

add_three = repeated(increment, 3)
print(add_three(5))  # 输出:8

print(repeated(triple, 5)(1))  # 输出:243

print(repeated(square, 2)(5))  # 输出:625

print(repeated(square, 4)(5))  # 输出:152587890625

希望能对你有所帮助!如果还有其他问题,请随时提问。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:>> add_three = repeated(increment, 3) >>> add_three(5) 8 >>> repeated(triple, 5)(1) # 3 * 3 * 3 * 3 * 3 * 1 243 ...">https://golang.0voice.com/?id=9276

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?