分形绘图使用递归

时间:2019-03-07 00:39:05

标签: python python-3.x recursion fractals

我正在做一个作业,其中我必须使用给定的int创建分形图,我对如何在此处使用递归感到困惑。

我并没有寻求完整的解决方案,而只是寻求使我朝着正确的方向开始的东西。这是我到目前为止的内容:

def fractal(length, spaces):

    if length == 1:
        print(' ' * int(spaces) + '*')
    else:
        print(fractal(length//2*'*',spaces*' '))
        print(fractal(spaces*' ',length*'*'))
        print(fractal(length//2*'*',spaces+(length//2)*' '))




while True:
    userlength = input('Enter an integer > 0:\n')
    try:
        userlength = int(userlen)
    except:
        continue
    if userlength < 0:
        continue
    else:
        fractal(userlength,userlength)
        break

1 个答案:

答案 0 :(得分:2)

我能给的最好的提示是完全按照描述来实现描述的每一行。

例如,“创建函数def fractal(length,spaces)”。您已经做到了:

def fractal(length,spaces):

“如果长度为1,则打印出空格数,后跟1个星号。注意,“打印”而不是“返回”。

    if length == 1:
        print(' ' * spaces + '*')

等等...如果您严格按照说明进行操作,则代码会自行编写。

从描述中可能不清楚的一件事是“打印分形图案”是指使用所描述的参数“调用分形函数”。那是实际的递归。该函数必须自行调用。