递归函数

use*_*225 0 python recursion

我正在尝试编写一个递归函数,它取一个整数,n,并将所有偶数给零,然后将每个数加到n ......

这就是我到目前为止所拥有的

def kaboom(n):
   if n>=0:
     if n%2==0:
           print n,
           print kaboom(n-2),
     else:
           n=n-1
           print n,
           print kaboom(n-2),
   print n,    
   n=n+1
   return n
Run Code Online (Sandbox Code Playgroud)

输出是

KABOOM(5)

4 2 0 None 0 1 2 3 4

5
Run Code Online (Sandbox Code Playgroud)

KABOOM(4)

4 2 0 None 0 1 2 3 4
Run Code Online (Sandbox Code Playgroud)

但它应该是

KABOOM(5)

4 2 0 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

KABOOM(4)

4 2 0 1 2 3 4
Run Code Online (Sandbox Code Playgroud)

顺便说一下这不是作业:)

Kar*_*tel 8

在递归的"向下"路上打印偶数,并在"返回"的路上打印每个数字,每次减少1.,在print语句后使用,以使用空格而不是换行符来跟随数字.不返回值,也不打印返回值.

def kaboom(n):
    if (n % 2) == 0: print n,
    if n == 0: return # we "hit bottom"
    kaboom(n-1) # make the recursive call
    # From this point on, we are "on the way back", and print each value.
    print n,
Run Code Online (Sandbox Code Playgroud)