Функции · 27 из 29
Конвейер обработки
Задействованы также: Списки
Сумму в счёте пропускают через цепочку правил: сначала скидка, потом наценка за срочность, потом округление. Порядок важен, и меняется он чаще, чем сами правила.
Что сделать
Соберите конвейер правил — скидка, наценка, округление, — чтобы порядок легко менялся.
Что приходит
shagi— сколько угодно функций, каждая отдельным аргументом; каждая берёт одно значение и отдаёт одно
Что вернуть
Функцию: пропускает значение через все shagi по очереди, слева направо, и отдаёт итог; без шагов — значение как есть.
Допишите функцию konveyer в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
«Удвоить» и «прибавить 1». Конвейер (udvoit, pribavit) из 5 делает 10, потом 11. В обратном порядке — 6, потом 12. Ответ (11, 12): порядок важен.
Функция принимает произвольное число функций, каждая принимает одно значение и возвращает одно значение. Возвращает функцию, которая пропускает переданное значение через все них по очереди, слева направо, и возвращает итог. Без функций возвращает функцию, отдающую значение как есть.
Образцовый тест целиком
udvoit = lambda x: x * 2 pribavit = lambda x: x + 1
(konveyer(udvoit, pribavit)(5), konveyer(pribavit, udvoit)(5))
(11, 12)
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.