Вопрос задан 05.07.2023 в 01:02. Предмет Информатика. Спрашивает Богомаз Анна.

Написать программу на питон......................Построение кривой дракона Кривая дракона — один из

наиболее известных фракталов. Она строится так: на первом шаге проводится отрезок из начала координатной плоскости в точку (0;1). Далее на каждом шаге из конца фрактала повторяется уже нарисованная часть фигуры, повернутая на 90 градусов против часовой стрелки. Рассмотрим кривую дракона на шаге номер n≥2. Вы движетесь из точки (0,0) и выписываете направления поворотов после прохождения каждого отрезка. Поворот направо обозначается буквой R, поворот налево — буквой L. Выведите последовательность поворотов. Входные данные Задано натуральное число n (2≤n≤15). Выходные данные Программа должна вывести последовательность из букв L и R в одной строке без пробелов.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Долженко Настёна.

Если движение (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)))

===================================

Если ответ удовлетворил, не забудь отметить его как "Лучший".



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот программа на Python для построения последовательности поворотов на кривой дракона:

python
def dragon_curve(n): if n == 1: return "R" prev_curve = dragon_curve(n - 1) new_curve = prev_curve + "R" reversed_curve = prev_curve[::-1] inverted_reversed_curve = "".join("R" if c == "L" else "L" for c in reversed_curve) return new_curve + inverted_reversed_curve n = int(input("Введите значение n (2≤n≤15): ")) if 2 <= n <= 15: result = dragon_curve(n) print(result) else: print("Некорректное значение n. Пожалуйста, введите n от 2 до 15.")

Вы можете ввести значение n, и программа выведет последовательность поворотов для кривой дракона на шаге n.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос