我创建了一个函数,它创建一个空列表,并将另一个列表中的值赋给一个变量。然后代码应该在每次调用函数时将变量的值 append 到列表中。但是该函数并没有追加,而是替换了列表中的元素。我可以这样说,因为当我打印列表时,前一个元素丢失了。代码如下。我需要这个来进行模拟考试。有什么想法吗?
def track():
global tracker
global trackerresult
trackerresult = []
tracker = opposite1[decider]
trackerresult.append(tracker)
print(trackerresult)
请您参考如下方法:
这样做的不是追加,而是您在两行之前显式替换现有变量。
正如 CactusWoman 指出的那样,您在这里根本不需要全局变量。 tracker 是一个纯局部变量;至于 trackerresult,一旦你摆脱了分配,你只会改变它,所以没有必要将它声明为全局的。
