gpt4 book ai didi

Python:递归方法回滚变化?

转载 作者:行者123 更新时间:2023-12-01 08:45:55 25 4
gpt4 key购买 nike

所以我陷入了这样的困境(简化版本)

class Node:
def __init__(self):
self.left= None
self.cost = 0

def change(self):
if self.left is not None:
self.left.cost=self.cost+1
self.left.change

data=[]
for i in range(10):
data.append(Node())
if i>0:
data[i].left = data[i-1]

data[8].change()
print(data[2].cost) #0

我要data[2].cost已更改,但它会回滚。我可以让它在不跳过递归的情况下工作吗? (在完整版本中,我实际上保留了一个具有四个指针的二维节点数组,因此迭代很糟糕。)

最佳答案

当您调用 change 方法时,您忘记了 ()

def change(self):
if self.left is not None:
self.left.cost=self.cost+1
self.left.change()

输出:

6

关于Python:递归方法回滚变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53303539/

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