gpt4 book ai didi

python - 模式的递归生成

转载 作者:行者123 更新时间:2023-11-28 19:54:55 25 4
gpt4 key购买 nike

我正在尝试生成列表中的所有排列。我知道有内置函数,但我想自己用递归函数来做。我试图理解为什么我的尝试不起作用:

chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

def recurse(n, value):
if n > 0:
for c in chars:
value += c
recurse(n-1, value)
else:
print value
return

nchars = 2
recurse(nchars, '')

在我看来,我的递归应该在两次迭代后停止 (nchars = 2),但它仍在继续。我会发布当前输出,但它又长又乱。预期输出为:

00
01
02
03
...
zx
zy
zz

最佳答案

    for c in chars:
value += c
recurse(n-1, value)

此循环在每个递归级别运行 62 次,因此 value 将增长并增长到最大大小 124。要避免这种累积效应,请尝试:

    for c in chars:
recurse(n-1, value+c)

关于python - 模式的递归生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32696640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com