Код IT Загрузка примера кода…

Python main.py
def koch_curve_string(iterations: int) -> str:
    s = "F"
    for _ in range(iterations):
        s = s.replace("F", "F+F--F+F")
    return s

def draw_koch_snowflake(side: float, iterations: int = 3):
    t = turtle.Turtle()
    t.speed(0)
    instr = koch_curve_string(iterations)
    scale = side / (3 ** iterations)
    
    t.penup()
    t.goto(-side / 2, -side / (2 * math.sqrt(3)))
    t.pendown()
    t.setheading(0)
    
    for c in instr:
        if c == "F":
            t.forward(scale)
        elif c == "+":
            t.left(60)
        elif c == "-":
            t.right(60)
    
    # Замыкание в снежинку
    for _ in range(2):
        for c in instr:
            if c == "F":
                t.forward(scale)
            elif c == "+":
                t.left(60)
            elif c == "-":
                t.right(60)
        t.right(120)
    t.hideturtle()
def koch_curve_string(iterations: int) -> str:
    s = "F"
    for _ in range(iterations):
        s = s.replace("F", "F+F--F+F")
    return s

def draw_koch_snowflake(side: float, iterations: int = 3):
    t = turtle.Turtle()
    t.speed(0)
    instr = koch_curve_string(iterations)
    scale = side / (3 ** iterations)
    
    t.penup()
    t.goto(-side / 2, -side / (2 * math.sqrt(3)))
    t.pendown()
    t.setheading(0)
    
    for c in instr:
        if c == "F":
            t.forward(scale)
        elif c == "+":
            t.left(60)
        elif c == "-":
            t.right(60)
    
    # Замыкание в снежинку
    for _ in range(2):
        for c in instr:
            if c == "F":
                t.forward(scale)
            elif c == "+":
                t.left(60)
            elif c == "-":
                t.right(60)
        t.right(120)
    t.hideturtle()