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递归挑战[已关闭] 的相关文章

  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 无法在 Python 3 中导入 cProfile

    我试图将 cProfile 模块导入 Python 3 3 0 但出现以下错误 Traceback most recent call last File
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O

随机推荐

  • 使用 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和计算理论入门课 最近期中考试中有一道难题我根本无法解决 它涉及为添加数字的程序编写代码 我相信这个问题应该使