Я изучаю рекурсию и хочу добиться этого в Python (черепаха):
Я сделал рекурсивную функцию, в которой я рисую квадрат, начиная с нижнего левого угла, лицом к востоку. Я могу получить квадраты на одной из сторон правильно, но не на другой.
Движение назад перед рисованием меньшего квадрата дает странные результаты:
from turtle import *
delay(0)
speed(10)
def square(length, level):
if level == 0:
return
else:
# Start from the bottom-left corner
forward(length)
# Right square
square(length // 2, level - 1)
lt(90)
forward(length)
lt(90)
forward(length)
lt(90)
forward(length)
lt(90)
### Try moving backward before drawing
##backward(length / 2)
# Left square
square(length // 2, level - 1)
square(110, 4)
Какие-нибудь советы или хорошие примеры для изучения этих видов фракталов?