首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >树枝的循环创建

树枝的循环创建
EN

Stack Overflow用户
提问于 2020-12-12 22:13:40
回答 1查看 55关注 0票数 0

如何在Python中实现一个循环,它返回树枝的索引,以及每层深度的树枝数按层深度增长到n的幂?N和层深均为整数。

例如,对于n=2,这将产生前三层的树枝数(在黑匣子中给出的指数):

0层深度: 2**0=1

层深1: 2**1=2

层深2: 2**2=4

例如,对于n=3,这将产生前三层的树枝数(在黑匣子中给出的指数):

0层深度: 3**0=1

层深1: 3**1=3

层深2: 3**2=9

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-13 20:47:39

我认为下面的生成器产生了您的图像显示的内容:

代码语言:javascript
复制
def branching(n, depth):
    yield '1'
    if depth >= 1:
        branches = []
        for i in range(1, n + 1):
            branches.append(f'1.{i}')
            yield branches[-1]
    for layer in range(2, depth + 1):
        branches_new = []
        for branch in branches:
            for i in range(1, n**(layer - 1) + 1):
                branches_new.append(f'{branch}.{i}')
                yield branches_new[-1]
            branches = branches_new

代码语言:javascript
复制
for branch in branching(2, 3):
    print(branch)

产生

代码语言:javascript
复制
1
1.1
1.2
1.1.1
1.1.2
1.2.1
1.2.2
1.1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
1.1.2.1
1.1.2.2
1.1.2.3
1.1.2.4
1.2.1.1
1.2.1.2
1.2.1.3
1.2.1.4
1.2.2.1
1.2.2.2
1.2.2.3
1.2.2.4

对于branching(3, 3),输出如下所示

代码语言:javascript
复制
1
1.1
1.2
1.3
1.1.1
1.1.2
1.1.3
1.2.1
1.2.2
1.2.3
1.3.1
1.3.2
1.3.3
1.1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
1.1.1.5
1.1.1.6
1.1.1.7
1.1.1.8
1.1.1.9
...
1.3.3.1
1.3.3.2
1.3.3.3
1.3.3.4
1.3.3.5
1.3.3.6
1.3.3.7
1.3.3.8
1.3.3.9

但我有点觉得你的公式化的描述和图像不太一致?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65270366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档