Войти Создать аккаунт

Декораторы · 1 из 19

До рубля

Тарифы в окне №3 считают разные куски программы, и у всех выходят копейки: 247,6 или 38,0999… Зинаида Петровна копеек в окне не берёт и велела отвечать целыми рублями. Переписывать каждый расчёт не хочется: проще обернуть их все одной обёрткой.

Что сделать

Напишите декоратор: обёрнутая функция считает как прежде, но отдаёт ответ, округлённый до целого рубля.

Что приходит

  • f — функция-расчёт: принимает какие угодно аргументы и возвращает число

Что вернуть

Новую функцию: она принимает те же аргументы, что f, зовёт её и возвращает round её ответа — целое число.

Допишите функцию do_rublya в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

Расчёт tarif(ves) возвращает ves * 12.7, и на весе 3 это 38,0999… Обёрнутый @do_rublya, он на том же весе отдаёт 38.

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.