编写递归函数但得到无限循环

时间:2014-02-05 18:35:39

标签: python image loops recursion

我正在使用Python,我的任务是编写一个递归循环。我们的想法是形成一个有垂直行的图片:

1st row: 1 object  (2**0)
2nd row: 2 object  ( 2**1)
3rd row: 4 obj      (2**2)
4th:     8 obj       (2**3)

依此类推,直至n行和n列。

通过使用“堆叠”和“旁边”功能,我需要制定该模式。

我的代码是:

def fractal(Pattern, n):
    if n== 1:
        return beside( Pattern, n)
    else:
        return beside( fractal(Pattern, n-1), fractal(Pattern, n))

但是,当我想展示整体模式时,会出现无限循环。

2 个答案:

答案 0 :(得分:7)

您正在fractal(Pattern, n)内拨打fractal(Pattern, n)。它永远不会停止这样做(至少在它用完堆栈之前)。

答案 1 :(得分:1)

来自return条件的else的一部分是fractal(Pattern, n),与当前内部完全相同。该路径永远不会达到n == 1

不知道更多,我不能说解决方案。只是无限递归的源头。