为了账号安全,请及时绑定邮箱和手机立即绑定

递归函数不返回额外的零

递归函数不返回额外的零

慕丝7291255 2023-07-18 13:23:30
我是编程和学习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 呢?
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

你可以写成如下


def rec_count(n):

    print(n)

    if n == 0:

        print(n)

        return 0

    rec_count(n-1)

    print(n)

称呼:


rec_count(2)

输出:


2

1

0

0

1

2


查看完整回答
反对 回复 2023-07-18
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信