如何在Python中返回递归函数的列表

2024-01-03

我试图从函数返回一个字符串列表,该函数计算没有连续 0 的所有可能排列。

为此,我正在运行一个有效的递归函数,但我需要创建一个包含结果的列表。

# Function to print all n–digit binary strings without any consecutive 0's
def countStrings(n, out="", last_digit=0):
    # if the number becomes n–digit, print it
    
    if n == 0:
        print(out)
        return
    
    # append 0 to the result and recur with one less digit
    countStrings(n - 1, out + '1', 0)
    
 
    # append 1 to the result and recur with one less digit
    # only if the last digit is 0
    if last_digit == 0:
        countStrings(n - 1, out + '0', 1)

当我运行它时,例如:a = countStrings(3),它打印所有可能性,但变量“a”返回为“None”:

results:

111
110
101
011
010

type(a): Nonetype

我尝试在某些地方插入附加,但没有结果

我不知道我错过了什么


这是您正在寻找的吗?

# Function to print all n–digit binary strings without any consecutive 0's
def countStrings(n, out="", last_digit=0, acc=[]):
    # if the number becomes n–digit, print it
    
    if n == 0:
        print(out)
        acc.append(out)
        return acc
    
    # append 0 to the result and recur with one less digit
    countStrings(n - 1, out + '1', 0, acc)
    
 
    # append 1 to the result and recur with one less digit
    # only if the last digit is 0
    if last_digit == 0:
        countStrings(n - 1, out + '0', 1, acc)
    return acc

acc = countStrings(3)
print('acc', acc)

Output:

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

如何在Python中返回递归函数的列表 的相关文章

  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • 如何在 __init__ 中使用await设置类属性

    我如何定义一个类await在构造函数或类体中 例如我想要的 import asyncio some code class Foo object async def init self settings self settings setti
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • Django Rest Framework 是否有第三方应用程序来自动生成 swagger.yaml 文件?

    我有大量的 API 端点编写在django rest framework并且不断增加和更新 如何创建和维护最新的 API 文档 我当前的版本是 Create swagger yaml文件并以某种方式在每次端点更改时自动生成 然后使用此文件作
  • 从Django中具有外键关系的两个表中检索数据? [复制]

    这个问题在这里已经有答案了 This is my models py file from django db import models class Author models Model first name models CharFie
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视

随机推荐

  • 计算根的父母拥有的百分比

    简而言之 我试图计算树的父级所拥有的树根的百分比 即树的更上层 我怎样才能单独用 SQL 来做到这一点 这是我的 示例 架构 请注意 虽然层次结构本身非常简单 但还有一个附加的holding id 这意味着单亲父母可以 拥有 孩子的不同部分
  • 如何使用 SymPy codegen 生成 Fortran 子例程

    我想使用 SymPy codegen 实用程序生成 Fortran 子例程 我可以毫无问题地生成 Fortran 函数codegen f x y z f95 filename 但我想生成一个 Fortran 子例程 以便可以修改输入数组 我
  • 将 ZedGraph 中的 DateAsOrdinal xAxis 标签格式化

    我现在已经改变了我的x axis to 日期为序号 但我想改进标签格式 我目前处理的是XAxis ScaleFormatEvent像这样 Private Function OnXScaleFormatEvent ByVal pane As
  • C++11 移动语义是在做一些新的事情,还是只是让语义更清晰?

    我基本上想弄清楚 整个 移动语义 概念是全新的 还是只是使现有代码更易于实现 我总是对减少调用复制 构造函数的次数感兴趣 但我通常使用引用 可能还有 const 来传递对象 并确保我始终使用初始化列表 考虑到这一点 并查看了整个丑陋的 语法
  • 向 C# 控制台应用程序添加“--help”参数

    我通过命令行使用的几乎所有 exe 都有一个由 help 命令调用的帮助函数 我如何在 C 中实现这个 难道只是检查args 中的参数是否是字符串 help 那么简单吗 使用 nix 命令 通常可以通过以下方式获取帮助 h or help
  • 如何在android中将数据库写入文本文件

    我正在为我的大学项目开发 一个间谍应用程序 为此 我记录了设备的通话 位置和短信并将它们存储在数据库中 现在我想将数据库的内容导出到文本文件 我尝试了下面的代码 private void readAndWriteCallsData File
  • 声明时没有实例化对象的原因是什么?

    最近我不得不深入研究一些 VB6 代码 我到处都看到了这种模式 dim o as obj set o new obj 为什么不是这个 dim o as new obj 我记得15年前有一个很好的理由 但现在我不记得是什么了 有人记得吗 理由
  • 检查元素是否为 div

    我如何检查是否 this is a div ul or blockquote 例如 if this is a div alert its a div else alert its not a div some other stuff 像这样
  • 蒙古人名的处理

    有几个国家 土耳其 蒙古 吉尔吉斯斯坦等 通常男性的名字可以没有中间名 而是使用 oglu uulu 等词代替 例如 Michael oglu Bret 意思是 布雷特的迈克尔儿子 我曾经把这类词分开 并把它们当作中间名 所以在过去的一周里
  • 在画布绘图上设置触摸监听器

    假设我在画布上绘制了位图图像或简单的圆圈 如何设置 OnTouchListener 来检查我的绘图是否被触摸 由于我将在画布上绘制多个圆圈 因此我希望每个圆圈都有一些唯一的 ID 以便我可以相应地工作 当您触摸屏幕时 获取 x 和 y 坐标
  • C# 和 SIMD:高加速和低加速。怎么了?

    问题介绍 我正在尝试加快我正在编写的 2d 光线追踪器的相交代码 我使用 C 和 System Numerics 库来提高 SIMD 指令的速度 问题是我得到了奇怪的结果 有超顶加速和相当低的加速 我的问题是 为什么一个是在屋顶之上 而另一
  • 计算多部分/表单数据编码文件的大小

    我正在编写一个应该接收文件并存储它的应用程序 一种存储方式是将其上传到另一台服务器 例如 filehoster 服务器端我使用Python和金字塔框架 我已经解决了客户端上传时获取文件的问题 并包装了返回的应用程序make wsgi app
  • CSS:居中块,但内容向左对齐

    我希望整个块位于其父级的中心 但我希望块的内容左对齐 例子最有效 在本页 ascii 艺术应该居中 正如它所显示的那样 但它应该对齐并且看起来像 YAML 或这个 http yaml online parser appspot com ya
  • C++对象构造方法之间的区别

    C 中不同的构造语法总是让我有点困惑 在另一个问题 https stackoverflow com questions 48255276 why does stdstring x00 report length of 0 48255303
  • java.lang.NoClassDefFoundError: android/graphics/drawable/Icon

    到目前为止 我仅对一位使用 root 手机 SM G900R7 Android 4 4 2 的用户遇到此错误 错误是这样的 Fatal Exception java lang NoClassDefFoundError android gra
  • 在 C#/WPF 中获取 PathGeometry(行)的长度

    如果我有一条闭合路径 我可以使用Geometry GetArea 来近似我的形状的面积 这太棒了 节省了我很多时间 但是周围有什么东西可以帮助我找到一条未闭合路径的长度吗 我现在能想到的最好办法就是确保我正在使用PathGeometry并致
  • 如何使用 PCL 读取 .ply 文件

    我可以使用这个程序读取 pcd 数据 include
  • Python 字符串不区分大小写

    我知道您可以使用 ctypes 库对字符串执行不区分大小写的比较 但是我也想执行不区分大小写的替换 目前我知道做到这一点的唯一方法是使用正则表达式 通过它来做到这一点似乎有点糟糕 Replace 是否有不区分大小写的版本 您可以将标志 re
  • 使用 Python 的“子进程”运行“导出”命令不起作用

    subprocess run export FOO BAR shell True 这根本行不通 我不知道为什么 我想做的就是从 python 3 5 1 脚本中设置一个环境变量 当我运行上面的行时 什么也没有发生 没有引发任何错误 当我自己
  • 如何在Python中返回递归函数的列表

    我试图从函数返回一个字符串列表 该函数计算没有连续 0 的所有可能排列 为此 我正在运行一个有效的递归函数 但我需要创建一个包含结果的列表 Function to print all n digit binary strings witho