Não é possível entender esse código python tartaruga recursiva

esta é a primeira vez que faço uma pergunta, espero que alguns de vocês encontrem tempo para responder.

Portanto, meu objetivo é escrever um script python usando o módulo turtle para codificar uma árvore de pitágoras.

Passei dias nisso e realmente não consegui avançar além de um certo ponto, então procurei on-line para me ajudar. Eu encontrei um código que faz o que eu quero, mas com muito poucas linhas de código:

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)

Entendo a maior parte do código, exceto o segundo e o terceiro parágrafos do "se": por que eles são executados? Se a função continua se repetindo, nunca chega a esse ponto normalmente! Tenho certeza de que estou perdendo algo realmente fácil aqui e espero que vocês tenham entendido minha pergunta :) obrigado novamente!

questionAnswers(2)

yourAnswerToTheQuestion