В чате курса закинули задачку с чьего-то собеседования. Мы её решили и несколько раз усложнили. Разомните мозги, кому интересно — на Python, скажем:)



sum(5)()  # 5

sum(5)(2)() # 7

sum(5)(100)(-10)() # 95




Надо реализовать sum. Уровень вложенности — бесконечный (ограниченный лимитом рекурсии в CPython).



Решили? Отлично!



1) Если в решении есть if — попробуйте убрать его :)



2) Если в решении есть try/except, уберите и его



3) Если в решении есть словари, избавьтесь и от них



4) А сделайте еще теперь, чтобы финальные скобки были не нужны, чтобы пользоваться можно было и так:



sum(5)  # 5

sum(5)(2) # 7

sum(5)(100)(-10) # 95




5) И, наконец, проверьте, что вот это тоже работает:



1 + sum(5)  # 6

sum(5)(2) - 10 # -3

2 * sum(5)(95) # 200

import math

math.sin(sum(10)) # -0.5440211108893699




Вечером или завтра сделаю видос об этом:) Кто сделал — не палите в комментах решение, пусть другие подумают!