0

有人可以向我解释为什么下面的代码什么都没有打印出来吗?

class Deck(object):

    def __init__(self, deck):
        self.deck = getDeck(deck)


    def getDeck(deck):
        with open(deck, "rU") as csvfile:
            cardReader = csv.DictReader(csvfile, delimiter=',')
            newDeck = []
            for row in cardReader:
                for x in range(int(row['NumberOfCards'])):
                    newDeck.append(row)

            removedKeyDeck = []
            for x in range(len(newDeck)):
                r = dict(newDeck[x])
                del r['NumberOfCards']
                removedKeyDeck.append(r)
        return removedKeyDeck


playerDeck = Deck('deck1.csv')


print playerDeck

我正在尝试从deck1.csv文件中创建一个套牌列表。我知道该getDeck功能有效,但我没有class正确使用结构。谁可以帮我这个事?

4

2 回答 2

0

我已经修复了您问题中的缩进(如果它最初是如何需要修复的......)

试试这个:

self.deck = self.getDeck(deck)

以下将打印出您在函数deck中设置的属性。__init__

print playerDeck.deck
于 2013-05-29T14:07:55.047 回答
0

在您的代码中发生的情况是,您为 deck1.csv 文件创建了 Deck 类的实例,并且由于自动调用了 init 方法,还调用了 getDeck 方法。但是,您现在没有使用该返回值。您的 print 语句仅打印出您创建的 Deck 实例。如果您想让课程保持原样,请致电

print playerDeck.deck

会做一些有意义的事情。

于 2013-05-29T14:09:37.120 回答