Невозможно понять этот рекурсивный код Python Turtle

я впервые задаю вопрос, надеюсь, некоторые из вас найдут время ответить.

Поэтому моя цель - написать скрипт на python с использованием модуля turtle для кодирования дерева пифагора.

Я потратил на это дни, и я действительно не мог продвинуться дальше определенного уровня, поэтому я посмотрел в Интернете, чтобы помочь мне. Я нашел код, который делает то, что я хочу, но с очень маленькими строками кода:

import turtle
t = turtle.Pen()




LIMIT  =11
SCALAR = 0.5 * (2 ** 0.5)


def drawTree(size, depth):

    drawSquare(size)

    if depth + 1 <= LIMIT:

        t.left(90)
        t.forward(size)
        t.right(45)
        drawTree(size * SCALAR, depth + 1)

        t.forward(size * SCALAR)
        t.right(90)
        drawTree(size * SCALAR, depth + 1)

        t.left(90)
        t.backward(size * SCALAR)
        t.left(45)
        t.backward(size)
        t.right(90)



def drawSquare(sideLength):

    for i in range(4):
        t.forward(sideLength)
        t.left(90)



t.up(); t.goto(-100, -200); t.down()
drawTree(170.0, 0)

Итак, я понимаю большую часть кода, кроме второго и третьего абзаца «если»: почему они когда-либо исполняются? Если функция продолжает повторяться, она никогда не достигает этой точки нормально! Я уверен, что мне здесь чего-то не хватает, и надеюсь, вы все поняли мой вопрос :) Еще раз спасибо!

Ответы на вопрос(0)

Ваш ответ на вопрос