gpt4 book ai didi

python - 属性错误 : 'NoneType' object has no attribute 'append' (recursion function)

转载 作者:太空宇宙 更新时间:2023-11-04 08:41:39 26 4
gpt4 key购买 nike

我正在尝试获得所有可能的骰子排列。下面是我的代码。

def PrintAllPerms(n, arr, str_):
if (n == 0):
print str_
arr.append(str_)
return arr
else:
for i in ["1","2","3","4","5","6"]:
str_ = str_ + i
arr = PrintAllPerms(n-1,arr,str_)
str_ = str_[:-1]

PrintAllPerms(2,[],"")

但我只打印了这么多就出现了以下错误。

PrintAllPerms(2,[],"")

11
12
13
14
15
16
21

<ipython-input-7-d03e70079ce2> in PrintAllPerms(n, arr, str_)
2 if (n == 0):
3 print str_
----> 4 arr.append(str_)
5 return arr
6 else:

AttributeError: 'NoneType' object has no attribute 'append'

为什么它打印到 2,1 呢?

处理这个问题的正确方法是什么?

最佳答案

这是由于以下行:

arr = PrintAllPerms(n-1,arr,str_)

如果 else 路径,您的 PrintAllPerms 函数不会返回任何内容,因此被视为返回 None。所以 arr 被设置为 None

关于python - 属性错误 : 'NoneType' object has no attribute 'append' (recursion function),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44361237/

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