sách gpt4 ai đã đi

Hàm đệ quy (cơ bản) python hàm đệ quy

In lại 作者:行者123 更新时间:2023-12-01 01:07:24 29 4
mua khóa gpt4 Nike

我正在开发一个相当基本的函数,我发现很难弄清楚为什么我会得到我的输出。

def mystery(n):    
print(n)
if n < 4:
mystery(n + 1)
print(n)

mystery(1)

这是我的输出:

1
2
3
4
4
3
2
1

我想我很清楚输出的第一部分,n < 4,所以我们每次都加1,然后当我们达到4时,函数会跳过if部分并再次打印(n),即4。然后我有点迷失了,为什么输出会倒数到 1。我猜我忽略了递归的一些非常明显的部分,感谢您的帮助。

1 Câu trả lời

每次 mystery(n + 1) 完成时,都会调用下一个 print(n).

也许下面的代码更清楚:

def mystery(n):
print('\t' * n + 'enter mystery ' + str(n))
if n < 4:
print('\t' * n + 'before mystery(n+1) ' + str(n))
mystery(n + 1)
print('\t' * n + 'after mystery ' + str(n))

mystery(1)

Đầu ra:

enter mystery 1
before mystery(n+1) 1
enter mystery 2
before mystery(n+1) 2
enter mystery 3
before mystery(n+1) 3
enter mystery 4
after mystery 4
after mystery 3
after mystery 2
after mystery 1

关于python - 递归函数(基本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55207320/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com