Фрактальный рисунок с использованием рекурсии - PullRequest
1 голос
/ 07 марта 2019

Я работаю над заданием, в котором вы должны создать фрактальный рисунок с использованием заданного целого числа. Я не понимаю, как использовать здесь рекурсию.

Я не прошу полного решения, скорееМожет быть, просто что-то, чтобы начать меня в правильном направлении.Вот что у меня пока так:

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 Ответ

2 голосов
/ 07 марта 2019

Лучший совет, который я могу дать, - реализовать каждую строку описания в точности так, как описано.

Например, «Создать функцию def fractal (длина, пробелы)».Вы сделали это:

def fractal(length,spaces):

"Если длина равна 1, выведите количество пробелов, за которыми следует 1 звезда. Обратите внимание:" печатать ", а не" возвращать ".

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

И т.д. ... Если вы точно следуете описанию, код пишет сам.

Одна вещь, которая может быть неясной из описания, состоит в том, что «напечатать шаблон фрактала» означает «вызвать фрактальную функцию» с параметрамиЭто реальная рекурсия. Функция должна вызывать сама себя.

...