我想要带有卡座和卡片的闪卡软件。我创建了一个通用列表all_decks。我为甲板创建了一个类:
class deck(list):
def __init__(self, name):
self.name = name
def open_deck(self):
print "This is your deck %s: " %(self.name)
print "This deck has %s cards." %(len(self))
return self
然后使用用户输入创建名称并附加到all_decks的卡组。这是打印它们的功能:
def print_decks():
print "You have %s decks: " %(len(all_decks))
for x in all_decks:
print all_decks.index(x), x.name
这会打印所有套牌的列表,但所有索引看起来都是0.为什么?另外我以为我会使用索引作为“开放式甲板”和“删除甲板”功能,但它不起作用。
答案 0 :(得分:2)
你误解了index()
的作用。它返回列表中与您的目标匹配的第一个元素的索引。但你从未定义过比较套牌的方法。
你真的不想在这里使用索引。相反,请使用enumerate
计算:
for i, x in enumerate(all_decks):
print i, x.name