猿问

递归函数不返回额外的零

我是编程和学习Python的新手。我遇到了递归并了解了这段代码:'''


def rec_count(n):

    print(n)

    #Base case

    if n == 0:

        return 0

    rec_count(n-1) # a recursive call    

    print(n)

'''


在调用“rec_count(2)”时,我得到以下输出 2 1 0 1 2


我期望输出为 2-1-0-0-1-2。因为,当 n 变为 0 时,该函数将首先打印 0,然后由于满足 n==0 条件而再次返回 0。但为什么它不打印两次 0 呢?


慕丝7291255
浏览 97回答 1
1回答

三国纷争

你可以写成如下def rec_count(n):    print(n)    if n == 0:        print(n)        return 0    rec_count(n-1)    print(n)称呼:rec_count(2)输出:210012
随时随地看视频慕课网APP

相关分类

Python
我要回答