Словари · 19 из 25
Узор из подстановок
К выставке рукоделия Зинаида Петровна нашла в фонде альбом вышивальщицы. Узоры там не нарисованы, а записаны таблицей: каждый знак узора заменяется квадратиком из знаков, и так несколько раз. Из одного крестика за четыре замены вырастает снежинка, из одной буквы — целый ковёр. Таблица — готовый словарь: знак — какой квадратик ставить вместо него.
Что сделать
Замените каждый знак узора квадратиком из таблицы — и повторите это столько раз, сколько сказано.
Что приходит
uzor— узор: список строк одной длиныpravila— таблица: знак → квадратик, список из n строк по n знаков (n у всех одно)raz— сколько раз заменить
Что вернуть
Новый узор — список строк; при raz = 0 — узор как пришёл.
Допишите функцию razvernut в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Узор ["а"], правила "а" → ["аб", "ба"], "б" → ["бб", "бб"], одна замена: «а» становится квадратиком 2 × 2 — ["аб", "ба"].
razvernut(["а"], {"а": ["аб", "ба"], "б": ["бб", "бб"]}, 1)
['аб', 'ба']
Одна замена: каждый знак узора меняется на свой квадратик из pravila — квадратики одной строки узора встают рядом слева направо, а строки узора — друг под другом. Узор из h строк по w знаков с квадратиками n × n становится узором из h · n строк по w · n знаков.
Строка i квадратика стоит в строке i своего ряда: верхний ряд квадратика — наверху, как в таблице.
Замен — raz подряд, каждая — над результатом предыдущей. Каждый знак узора есть в таблице.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.