我的代码:
matrix = []
dynamicmatrix = []
answers = []
...some other code...
def search(chartofind, row):
global dynamicmatrix
print("SEARCHING", chartofind, row)
if row == numberofrows:
toadd = dynamicmatrix.copy()
answers.append(toadd)
return
for col in range(0, numberofrows):
if canPlace(chartofind, row, col) == False and matrix[row][col] != chartofind:
continue
if matrix[row][col] == chartofind:
search(chartofind, row+1)
else:
dynamicmatrix[row][col] = chartofind
search(chartofind, row+1)
dynamicmatrix[row][col] = matrix[row][col]
search("A", 0)
for i in answers:
print(i)
问题是当我在递归中打印toadd时,它很好。但是,在遍历列表后,它被附加到;answers,它显示的值与我将它附加到列表时显示的值不同。递归中的值是正确的,但在递归之后整个列表答案都被破坏了。这可能是什么原因造成的?这让我发疯,任何帮助将不胜感激。
繁花如伊
相关分类