Найти сумму целых чисел введёных с клавиатуры

Найти сумму целых чисел введёных с клавиатуры, без использования for, while, sum, map, reduce, fiter, import, eval, exec, compile, single

list1 = list(map(int,input().split()))
suma = 0
for range1 in range(len(list1)):
    suma += list1[range1]
print(suma)

Я смог сделать, но только с for...
Может кто-нибудь знает как это сделать?


Ответы (2 шт):

Автор решения: Zhihar

например так:

arr = list(map(int,input().split()))

def add(arr, res = 0):
    return res if len(arr) == 0 else (res + arr[0] + add(arr[1:], res))

print(add(arr))

вариант 2 (как вариант 1, только без излишеств)

def add(arr):
    return arr[0] if len(arr) == 1 else (arr[0] + add(arr[1:]))

print(add(arr))

вариант 3:

если нельзя даже данные получать с этими командами, тогда так:

def add(arr):
    return int(arr[0]) if len(arr) == 1 else (int(arr[0]) + add(arr[1:]))

print(add(input().split()))

вариант 4 (как и вариант 3, но покороче):

def add(arr):
    return (int(arr[0]) + add(arr[1:])) if arr else 0

print(add(input().split()))

вариант 5 (как и вариант 4, но короче на 1 (!!!) букву)

def add(arr):
    return (int(arr.pop()) + add(arr)) if arr else 0

print(add(input().split()))
→ Ссылка
Автор решения: Danis

можно с помощью рекурсия

def f(arr):
    if arr == []:
        return 0
    return int(arr[0]) + f(arr[1:])

print(f(input().split()))
→ Ссылка