1) مجوع مقادیر لیست با استفاده از تابع بازگشتی:

 

def summ(li : list) -> int:
    return sum(li)

numbers = [1, 2, 3, 4, 5]

print(summ(numbers))

2) محاسبه تابع با استغاده تابع بازگشتی:

import math

def fac(n, r:int) ->float:
    if r == 0 and n == 0:
        raise ZeroDivisionError
    elif r > n:
        raise Exception
    else:
        s = math.factorial(n)
        m = math.factorial(r)
        p = math.factorial(n  - r)
        return s / m * p

print(fac(6, 5))

3) تقسیم دو عدد صحیح با استغاده تابع بازگشتی:

def divide(num1 , num2):
    return num1 / num2

print(divide(10, 5))

4) تمام زیرمحموعه های یک مجموعه: 

 

def powerset(s):
    x = len(s)
    masks = [1 << i for i in range(x)]
    for i in range(1 << x):
        yield [ss for mask, ss in zip(masks, s) if i & mask]


print(list(powerset([4, 5, 6])))