Эмилий
4 год назад
Написать программу на питон......................Построение кривой дракона Кривая дракона — один из наиболее известных фракталов. Она строится так: на первом шаге проводится отрезок из начала координатной плоскости в точку (0;1). Далее на каждом шаге из конца фрактала повторяется уже нарисованная часть фигуры, повернутая на 90 градусов против часовой стрелки. Рассмотрим кривую дракона на шаге номер n≥2. Вы движетесь из точки (0,0) и выписываете направления поворотов после прохождения каждого отрезка. Поворот направо обозначается буквой R, поворот налево — буквой L. Выведите последовательность поворотов. Входные данные Задано натуральное число n (2≤n≤15). Выходные данные Программа должна вывести последовательность из букв L и R в одной строке без пробелов.
ОТВЕТЫ
Krasimir
Oct 24, 2020
Если движение (0; 0) -> (0; 1) - это движение вверх по ОY, то поворот на 90 градусов против часовой стрелки даёт .
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)))
===================================
Если удовлетворил, не забудь отметить его как "".
- спасибо все правильно!!!!!!!!!
102
Смежные вопросы: