Sobes.tech
Junior — Senior
56

Интеллектуальный Сумматор

Условие задачи

Создайте вызываемый объект sum_numbers(), который аккумулирует целочисленные значения при последовательных вызовах.

Пример 1:

print(sum_numbers(1))

Вывод: 1

Пример 2:

print(sum_numbers(1)(2))

Вывод: 3

Количество цепочек вызовов не ограничено:

Пример 3:

print(sum_numbers(1)(2)(3))

Вывод: 6

Пример 4:

print(sum_numbers(1)(2)(3)(4))

Вывод: 10

Пример 5:

print(sum_numbers(1)(2)(3)(4)(5))

Вывод: 15

Объект, возвращаемый sum_numbers(), должен оставаться переиспользуемым:

Пример 6:

sum_two = sum_numbers(2)
print(sum_two)

Вывод: 2

Пример 7:

print(sum_two + 5)

Вывод: 7

Пример 8:

print(sum_two(3))

Вывод: 5

Пример 9:

print(sum_two(3)(5))

Вывод: 10

Пример 10:

print(sum_two * 10)

Вывод: 1824

Требуется реализовать объект, поддерживающий как цепочку вызовов, так и обычные арифметические операции (сложение, умножение) с последующим выводом текущей суммы.