Написать программу на питонПостроение кривой дракона Кривая дракона — один из наиболее известных фракталов. Она строится так: на первом шаге проводится отрезок из начала координатной плоскости в точку (0;1). Далее на каждом шаге из конца фрактала повторяется уже нарисованная часть фигуры, повернутая на 90 градусов против часовой стрелки. Рассмотрим кривую дракона на шаге номер n≥2. Вы движетесь из точки (0,0) и выписываете направления поворотов после прохождения каждого отрезка. Поворот направо обозначается буквой R, поворот налево — буквой L. Выведите последовательность поворотов. Входные данные Задано натуральное число n (2≤n≤15). Выходные данные Программа должна вывести последовательность из букв L и R в одной строке без пробелов.
Если движение (0; 0) -> (0; 1) - это движение вверх по ОY, то поворот на 90 градусов против часовой стрелки даёт R.
Код:
def invert_path(d: str):
r = {
"L": "R",
"R": "L",
}
return r[d]
def dragon(depth: int) -> str:
if depth == 1:
return
yield from dragon(depth-1)
yield "R"
second_part = dragon(depth-1)
yield from (invert_path(x) for x in reversed(list(second_part)))
n = int(input())
print("".join(dragon(n)))
===================================
Если ответ удовлетворил, не забудь отметить его как "Лучший".