我的代码如下:
self.newMonsterList =[]
myKeys = []
if (len(self.myList)>0):
for i in range(len(self.myList)-1):
myVar = self.myList[i]
myKeys.append(myVar[1])
lis = game.active_entities.keys()
for k in lis:
if (k not in myKeys):
game.active_entities[k].destroy()
for it in self.myList:
if (it[1] in lis):
self.setEnt(it, game.active_entities[it[1]])
else:
self.newMonsterList.append(it)
self.makeEnt()
在while循环中调用此代码(即它所在的方法)显然是有效的。 [1]作为附加项的实体新怪物列表. 这是有效的,我已经测试过了。因此,在所有这些代码的第一个完整回合(即调用此代码的while循环)之后的newMonsterList中的ID不应该在第二个之后。 不过,的确如此。 另一方面,如果我在makent中检查newMonsterList的内容是否已经是一个键,我会得到正确的结果。 因此,我得出结论,newMonsterList在while循环运行中没有被正确清空。 我已经试了两个小时的不同版本了…有人知道吗?在
我想把它写得更简单些: a是int的列表
d是以int为键的dict
^{pr2}$我现在发现怪物列表在每一回合都是空的,然而,在ifclause(“if(it not in d):”)中,“it”在每一回合都会出现在列表中。但是,“it”在第一次迭代后肯定也在d中,我可以打印它。在
您知道这个循环迭代
self.myList
,但是跳过列表中最后一项,对吗?在跳过最后一项似乎很可疑。在
仅供参考,我认为上述代码相当于:
^{pr2}$相关问题 更多 >
编程相关推荐