Напишите функцию, которая находит сумму первых n натуральных чисел. Сделайте свою функцию рекурсивной.
Пример:
sum_numbers(5) ➞ 15 # 1 + 2 + 3 + 4 + 5 = 15 sum_numbers(1) ➞ 1 sum_numbers(12) ➞ 78
Примечание:
Предполагается, что входное число всегда положительно.
Варианты решений:
def sum_numbers(n): return n + sum_numbers(n-1) if n else 0
sum_numbers = lambda n: 0 if n < 1 else n + sum_numbers(n - 1)
def sum_numbers(n): if n == 1: return 1 return n + sum_numbers(n - 1)
import sys
sys.setrecursionlimit(3000)
def sum_numbers(n):
if n == 0:
return 0
else:
return n + sum_numbers(n - 1)
