我正在创建一个程序,用户可以在其中学习一些预定义的技能,并在以后更改为learned = True
值。我想把所有已经学习过的对象放在一个列表中,但找不到一种方法来收集所有对象进行排序,如果有人能提出建议,我将不胜感激。这是我目前的策略,在类定义中使用列表,但它不能正常工作,因此如果有人有更好的方法,我将不胜感激。
我的类当前看起来像这样:
class attacks:
learned = False
def __init__(self,name,baseDMG,adMulti,apMulti,accuracy):
self.name = name
self.baseDMG = baseDMG
self.adMulti = adMulti
self.apMulti = apMulti
self.accuracy = accuracy
global adAbilities
global apAbilities
global mixedAbilities
adAbilities = []
apAbilities = []
mixedAbilities = []
if adMulti > 0 and apMulti > 0:
mixedAbilities.append(self)
elif adMulti > 0:
adAbilities.append(self)
elif apMulti > 0:
apAbilities.append(self)
但是,当我检查列表中的项目时,它只存储第二个列表中的一个对象,而不存储其他对象,即使我已经创建了这些对象:
slash = attacks("slash",20,6,0,90)
smite = attacks("smite",20,0,6,90)
doubleStrike = attacks("doubleStrike",30,9,0,70)
blast = attacks("blast",30,0,9,70)
weaponThrow = attacks("weaponThrow",20,8,0,90)
无论最后定义的是哪个对象,只有最后定义的对象才是任何列表中的唯一对象(在定义每个对象后通过打印列表进行测试)
目前没有回答
相关问题 更多 >
编程相关推荐