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])))



