Ctrl K

Раскрыть шаблон с переменными

Средняя
Есть набор переменных variables: каждая запись — пара [имя, значение]. Имя — одна заглавная латинская буква. Значение — строка, в которой могут встречаться ссылки на другие переменные вида %X%, где X — имя переменной. Дан также шаблон template — одна или несколько ссылок на разные переменные, разделённых символом _. Замените каждую ссылку %X% значением переменной X — и так, пока ссылок не останется совсем (значения тоже раскрываются). Верните получившуюся строку. Циклических зависимостей между переменными нет, и все ссылки указывают на существующие переменные.
Пример 1
variables=[['N', 'anna'], ['C', 'paris']], template='%N%_%C%' → 'anna_paris'

%N% заменяется на «anna», %C% — на «paris».

Пример 2
variables=[['G', 'hi_%U%'], ['U', 'bob'], ['D', '%G%%U%']], template='%D%_%U%_%G%' → 'hi_bobbob_bob_hi_bob'

%G% раскрывается в «hi_bob», поэтому %D% — это «hi_bob» + «bob» = «hi_bobbob».

Пример 3
variables=[['Z', '42']], template='%Z%' → '42'
Ограничения
  • 1 ≤ len(variables) ≤ 10
  • Имена переменных — различные заглавные латинские буквы
  • Значение — непустая строка длиной не больше 8 из строчных латинских букв, цифр, _ и ссылок %X%
  • template — ссылки %X% на разные переменные через _
  • Циклических зависимостей нет
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПорядок букв по словарю СложнаяЦепочки отношений СредняяСклеить карточки контактов СредняяЦепочки синонимов СредняяПерестановки по связям Средняя
загружаем Python…
Вход
variables=[['N', 'anna'], ['C', 'paris']], template='%N%_%C%'
Ожидается
'anna_paris'

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 37 тестов на сервере, включая скрытые.