#!/usr/bin/env python3

def sum_recursion(n, k=0, result=0):
  "\sum_{k=0}^n k"
  if (k <= n):
    result = k + sum_recursion(n, k+1, result)
#   print(n, k, result)             # for testing
  return result

def fibonacci(n, k=1, kk=0):
  "sum of previous two numbers"
  print(n, k, kk)                   # for testing
  if (n > 0):
    n, k, kk = fibonacci(n-1, k+kk, k) 
  return n, k, kk                   # return 3 variables
   

print("*********")
print("recursion")
print("*********")
N = 4
print(f"evaluate \"\sum_{{k=0}}^{N:d} k\" via recursion:", sum_recursion(N))

print()
print("******************")
print("compact assignment")
print("******************")

_, resFib, _ = fibonacci(nFib:=8)      # with placehoders '_' (and Walrus)
print(f'\nthe {nFib:d}-the Fibonacci number is: ', resFib)
