我刚开始使用Python,当我试图访问列表中对象的name属性时,我发现了这个错误。你知道吗
在第一段代码中,我可以打印我的Card类的name属性:
while nextcard<=53:
thisCard=Card()
thisCard=thisCard.init_card(nextcard)
base_deck.append(thisCard)
print(base_deck[nextcard].name)
nextcard+=1
我还有一个名为Deck的类,它有一个名为cards的list属性。当我试图用下面的代码打印列表中特定卡的名称时,我得到了错误
testDeck=Deck()
if testDeck.d_count==42:
testDeck.name="four player 500"
testDeck.cards=[]
testDeck.cards.append(base_deck[4:14])
testDeck.cards.append(base_deck[17:27])
testDeck.cards.append(base_deck[29:40])
testDeck.cards.append(base_deck[42:53])
print(testDeck.cards[2].name)
nextcard=0
如有任何建议,将不胜感激,谢谢。你知道吗
据我所知,你的主要问题是,你是附加名单testDeck.cards卡,而不是附加单个卡。列表没有.name()方法,因此会出现错误。你知道吗
让我们看一个简单的例子。我们创建了一个包含四个项目的简化底板。你知道吗
然后我们创建一个简化的卡片列表。当我们试图从basedeck追加片时,append函数将每个片追加为一个原子单元:基本上创建一个包含子列表的列表,而不是像我想的那样,一个包含单个元素的列表。你知道吗
要将切片作为单个元素添加到列表中,可以使用.extend()方法。你知道吗
希望这有帮助。你知道吗
相关问题 更多 >
编程相关推荐