Как понять работу этого Python кода Серпинского? - PullRequest
0 голосов
/ 12 апреля 2020

Я нашел этот код на этом сайте, и у меня есть несколько вопросов по этому поводу. Я уже сделал треугольник Серпинского на Python, используя мои элементарные знания, и он слишком длинный и очень плохой.

Я сделал это, используя функции и некоторые переменные, но у меня есть некоторые вопросы с этим кодом Я нашел. Прежде всего, что такое буква «Т», длина и глубина, и где все это имеет значение. Где указана длина и глубина, и что это делает с кодом?

Обратите внимание, что я новичок.

Вот код:

import turtle
def draw_sierpinski(length,depth):
    if depth==0:
        for i in range(0,3):
            t.fd(length)
            t.left(120)
    else:
        draw_sierpinski(length/2,depth-1)
        t.fd(length/2)
        draw_sierpinski(length/2,depth-1)
        t.bk(length/2)
        t.left(60)
        t.fd(length/2)
        t.right(60)
        draw_sierpinski(length/2,depth-1)
        t.left(60)
        t.bk(length/2)
        t.right(60)

window = turtle.Screen()
t = turtle.Turtle()
draw_sierpinski(100,2)
window.exitonclick()

1 Ответ

1 голос
/ 12 апреля 2020
t = turtle.Turtle()

t - это экземпляр class Turtle, расположенный в модуле turtle, который ранее был импортирован

import turtle

Поскольку экземпляр t находится в глобальной области видимости, * Интерпретатор 1026 * может найти его, даже внутри функции draw_sierpinski(length,depth)

Я понятия не имею, откуда вы взяли код, однако вот документы для модуля черепахи.

Чтобы узнать, что делает код, попробуйте сами. Просто pip install turtle и запустите код

Из документации черепахи

Графика черепахи - популярный способ познакомить детей с программированием. Он был частью оригинального языка программирования Lo go, разработанного Уолли Ферцигом и Сеймуром Папертом в 1966 году. Представьте себе роботу c, начинающуюся с (0, 0) в плоскости xy. После импортированной черепахи дайте ей команду turtle.forward (15), и она сместится (на экране!) На 15 пикселей в направлении, к которому она обращена, рисуя линию по мере движения. Дайте ему команду turtle.right (25), и он будет вращаться на месте на 25 градусов по часовой стрелке.

...