В чате курса закинули задачку с чьего-то собеседования. Мы её решили и несколько раз усложнили. Разомните мозги, кому интересно — на Python, скажем:)
Надо реализовать
Решили? Отлично!
1) Если в решении есть
2) Если в решении есть
3) Если в решении есть словари, избавьтесь и от них
4) А сделайте еще теперь, чтобы финальные скобки были не нужны, чтобы пользоваться можно было и так:
5) И, наконец, проверьте, что вот это тоже работает:
Вечером или завтра сделаю видос об этом:) Кто сделал — не палите в комментах решение, пусть другие подумают!
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
Вечером или завтра сделаю видос об этом:) Кто сделал — не палите в комментах решение, пусть другие подумают!