Документы по шаблону · Шаг 1 из 4
Какие поля в шаблоне
Бухгалтер Нина Петровна пишет шаблоны договоров сама, в обычном текстовом файле: где должно встать значение из таблицы, она ставит знак доллара и имя столбца — $fio, $summa. Прежде чем заполнять сотню договоров, программа должна понять, каких столбцов шаблон ждёт.
Что сделать
Найдите в шаблоне все поля — имена после знака доллара — по одному разу, в порядке первого появления.
Что приходит
shablon— текст шаблона строкой:"Уважаемый $fio! Договор № $nomer"
Что вернуть
Список имён полей без знака доллара: ["fio", "nomer"]; полей нет — [].
Допишите функцию polya_shablona в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Программа зовёт polya_shablona первой: печатает, каких столбцов ждёт шаблон, и передаёт этот список шагу 2 для проверки каждой строки таблицы.
polya_shablona("Уважаемый $fio! Договор № $nomer от $data. $fio, подпишите.")
['fio', 'nomer', 'data']
Правила те же, что у string.Template из стандартной библиотеки.
- Поле — знак
$и имя: латинская буква или_, дальше латинские буквы, цифры и_. Большие и маленькие буквы различаются:$FIOи$fio— два разных поля. - Имя можно взять в фигурные скобки:
${summa}руб.— полеsumma. Так пишут, когда сразу за именем идёт буква, цифра или_. $$— это просто знак доллара в тексте, а не поле:$$100— «$100».- Знак
$, за которым имени нет (100$,$5,$фио— кириллица в имя не входит), — не поле, пропускается.
Каждое имя — один раз, в порядке, в котором оно впервые встретилось.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.