Вопрос о создании фракталов с помощью python с использованием черепахи и рекурсии

#recursion #turtle-graphics

Вопрос:

 from turtle import *

def snowflake_side(length,levels):
    if levels == 0:
        forward(length)
        return

    length /= 3.0
    snowflake_side(length, levels -1)
    left(60)
    snowflake_side(length, levels -1)
    right(120)
    snowflake_side(length, levels -1)
    left(60)
    snowflake_side(length, levels -1)


def create_snowflake():
    pass

# create_snowflake()
snowflake_side(200,2)
mainloop()
 

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

Ответ №1:

Вы называете это уровнями = 2

 snowflake_side( 200, 2 )
 

И во время этой функции она вызывает себя с текущими уровнями (2) -1

 snowflake_side( length,  levels -1 )
 

https://en.wikipedia.org/wiki/Recursion