Python递归挑战[已关闭]

2024-02-22

我目前正在上Python和计算理论入门课,最近期中考试中有一道难题我根本无法解决。它涉及为添加数字的程序编写代码。我相信这个问题应该使用递归。我不记得这个问题到底是如何措辞的,但这是基本的想法。

实施multiadder(n)函数,它接受一个非负整数n并添加n任意值在一起。每个要添加的值必须作为单独的调用编写。例如:

>>> multi_three = multiadder(3)
>>> multi_three(1)(2)(3)
6

>>> multiadder(5)(1)(2)(3)(4)(5)
15

代码必须通过填空来编写。

def multiadder(n):
    assert n > 0
    if _________________________ :
        return _________________________
    else:
        return _________________________

我们在课堂上讨论的主题是高阶函数、递归、lambda 和控制语句。我们不允许使用列表和集合等数据结构,也不允许导入任何内容。

请有人帮忙。这是我唯一考不上的问题!


尝试这个:

def multiadder(n):
  assert n > 0
  if n == 1:
    return lambda t: t
  else:
    return lambda a: lambda b: multiadder(n-1)(a+b)

if __name__ == '__main__':
  print(multiadder(5)(1)(2)(3)(4)(5))

For n == 1,结果必须是返回输入的函数。

For n > 1,将结果包装起来n-1,通过添加输入。

这也适用于连接字符串和其他累积操作:

>>> multiadder(3)('p')('q')('r')
pqr
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python递归挑战[已关闭] 的相关文章

随机推荐

  • 使用 Zend 框架无法从收件箱获取某些电子邮件的消息正文?

    我正在尝试阅读我的应用程序的电子邮件收件箱 我在这里使用 zend 框架 问题是我无法检索某些电子邮件的邮件正文 以下是我如何执行此操作的代码 mail new Zend Mail Storage Imap mail options all
  • 如何让UIToolbar有清晰的背景?

    我有一个具有白色色调的 UIToolbar 带有一个栏按钮项目 后面是一些灵活的空间 然后是另一个栏按钮项目 我想让工具栏完全清晰 以便我可以看到灵活空间下的内容 我不关心看到按钮后面的内容 有没有办法做到这一点 我尝试将工具栏设置为半透明
  • Hibernate:无法执行本机批量操作查询

    我在尝试使用本机 SQL 更新数据时遇到此错误 这是我的脚本 update weight note receipt set pledge id pledge where wn id in wns wns是包含超过 1 的字符串wn id像这
  • Mendeley 自定义 OAuth 策略

    Mendeley http www mendeley com 有一个很棒的 AP I 事实上 他们已经使用他们的 API 举办了一场竞赛 但这个问题并不是特定于此 它使用 OAuth 我正在尝试编写一个允许 Mendeley 身份验证的策略
  • Apache Camel:“direct:start”端点 - 这是什么意思?

    我是阿帕奇骆驼的新手 有人能解释一下Camel中 direct start 的含义吗 请参见 https camel apache org components latest http component html https camel
  • CKAN:上传到数据存储失败;资源太大无法下载

    当我尝试将大型 csv 文件上传到 CKAN 数据存储时失败并显示以下消息 Error Resource too large to download 5158278929 gt max 10485760 我更改了资源上传的最大兆字节数 ck
  • Volley 禁用一个请求的缓存

    我想对我的所有请求使用默认的 volley 缓存策略除了一个 这可能吗 我希望每次调用此请求时都能得到互联网的响应 提前致谢 这会起作用 request setShouldCache false
  • findAll() HQL 不返回 grails 中的分页列表

    我正在开发一个 grails 应用程序 在此我必须在 list gsp 上应用过滤器框 当我使用以下查询 在我的服务中 进行过滤时 我得到分页列表 def clientCriteria TripOrder createCriteria de
  • 是否可以根据类名在没有 JavaScript 的情况下更改悬停时的多个元素外观?

    我有一个结构div在里面divs 类似 div div div class a Hello div div class a Stack div div Overflow div div div div You div div class b
  • 是否可以将 JSON 私钥转换为 PKCS12 格式?

    我正在使用 PHP 的 Google Cloud Storage 服务 我有一个APPLICATION GOOGLE CLIENT KEY FILEJSON 格式 我的问题是我们可以将 JSON 私钥转换为 PKCS12 格式吗 如果是的话
  • Maven 构建配置文件激活

    我知道有一些相关的主题 但我仍然不明白该怎么做 我正在学习 Maven 目前正在创建构建配置文件 我希望 Maven 自动检测我的机器上当前安装的 java 版本 假设我在我们的办公室工作 使用 jdk7 或家 jdk8 我想要
  • 捆绑包无效负载原因:0x80070570

    维克斯 3 6 我正在尝试运行捆绑包
  • Python将列表重塑为ndim数组

    您好 我有一个长度为 2800 的平面列表 它包含 28 个变量中每个变量的 100 个结果 下面是 2 个变量的 4 个结果的示例 0 0 1 1 2 2 3 3 我想将列表重塑为数组 2 4 以便每个变量的结果都在单个元素中 0 1 2
  • 是否可以在 postgresql 命令中引用环境变量?

    例如 假设我想从运行 postgres 服务器的同一台计算机上的路径导入 CSV 文件 有一个环境变量MyPath在系统上设置为 path to my csv file 我可以轻松导入此 CSV 文件 如下所示 COPY MyTable F
  • Python 中 *tuple 和 **dict 是什么意思? [复制]

    这个问题在这里已经有答案了 正如 PythonCookbook 中提到的 可以添加在元组之前 什么是 意思是这里 第 1 18 章 将名称映射到序列元素 from collections import namedtuple Stock na
  • Weblogic 12c (12.1.3) - 字符串索引超出范围:51968

    我正在尝试部署一个Spring BootWeblogic 12 1 3 上的 Web 应用程序 当我从控制台部署时 我收到以下错误 在应用程序上 Message icon Error Unable to access the selecte
  • 如何区分页面刷新和关闭页面

    我有一个网络应用游戏 在游戏中我想拥有它 这样如果用户关闭页面或浏览器 它会自动注销 我尝试使用附加到窗口的 onbeforeunload 事件 window onbeforeunload function perform logout f
  • WCF / WebService充当MQ消息的侦听器?

    也许我找错了方向 但我有一组服务 WebAPI 和 WCF 它们使用 WebSphere MQ 与其他系统交互 这没有问题 直到我现在需要找到一种方法listening对于队列之一上的消息 这是否可能 或者我是否需要走 Windows 服务
  • Retrofit 2.0:无法为类创建调用适配器

    我正在使用 Retrofit 2 0 beta1 如何发出简单的同步请求并将 JSON 响应反序列化为 POJO 列表 这是我的界面 public interface ArticlesAPI GET articles List
  • Python递归挑战[已关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我目前正在上Python和计算理论入门课 最近期中考试中有一道难题我根本无法解决 它涉及为添加数字的程序编写代码 我相信这个问题应该使