Задать вопрос
kitscribe
@kitscribe
Хаброжитель

Как сделать вычисления только функциями?

Наткнулся на интересную задачу, которая требует реализовать вычисления только функциями

Примеры

seven(times(five())) # must return 35
four(plus(nine())) # must return 13
eight(minus(three())) # must return 5
six(divided_by(two())) # must return 3



Как такое можно реализовать?
  • Вопрос задан
  • 423 просмотра
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
0xD34F
@0xD34F
zero, one, two, three, four, five, six, seven, eight, nine = \
  [ lambda f = None, v = i: f(v) if callable(f) else v for i in range(10) ]

plus = lambda a: lambda b: b + a
minus = lambda a: lambda b: b - a
times = lambda a: lambda b: b * a
divided_by = lambda a: lambda b: b // a
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
22 янв. 2025, в 04:08
6000 руб./за проект
21 янв. 2025, в 23:55
20000 руб./за проект
21 янв. 2025, в 23:35
80000 руб./за проект