2017-03-27 1 views
1

カードを表示したいときはいつもエラーが出る。私のカードのリストを表示したいがエラーがある

私はそれをリストとして表示したいと考えました。 self.decksプリントCardsオブジェクトのリストを印刷

class Card: 
    suits = ["H", "D", "C", "S"] 
    values = ["2","3","4","5","6","7","8","9","T","J","Q","K","A"] 
    def __init__(self, value, suit): 
    self.value, self.suit = value, suit 
    def __str__(self): 
    return self.values[self.value] + " of " + self.suits[self.suit] 

class Deck: 
    def __init__(self): 
     self.decks = [] 
     for x in range(13): 
     for y in range(4): 
      self.decks.append(Cards(x, y)) 
    def __str__(self): 
     return self.decks 

    def printcard(self): 
     print self.decks 

def main(): 
    n=Deck() 
    n.printcard() 

Output: 
    [<__main__.Card instance at 0x0000000002694388>, <__main__.Card instance at 
    0x00000000026944C8>, <__main__.Card instance at 0x0000000002697C08>, 
    <__main__.Card instance at 0x0000000002697C48>, <__main__.Card instance at 
    0x0000000002697C88>, <__main__.Card instance at 0x0000000002697CC8>] 
+0

あなたがする必要がありますあなたの 'Card'クラスの表現も定義してください。 –

答えて

0

あなたCardsオブジェクトの__repr__メソッドを定義していなかったので(__str__方法がstringへの変換のためにのみ有用ですが、オブジェクトのlistを表現する際に、文字列への変換が使用されていない、だけprint(self.decks[0])のために働くだろう)、デフォルトの表現であるオブジェクトアドレスを取得するだけです。

あなたは、私が定義された適切な__repr__でモックアップ1を作成し、あなたのCardsクラスを提供していませんでしたので:予想通り

class Card: 
    suits = ["H", "D", "C", "S"] 
    values = ["2","3","4","5","6","7","8","9","T","J","Q","K","A"] 
    def __init__(self, value, suit): 
    self.value, self.suit = value, suit 
    def __repr__(self): 
    return self.values[self.value] + " of " + self.suits[self.suit] 

class Deck: 
    def __init__(self): 
     self.decks = [] 
     for x in range(13): 
     for y in range(4): 
      self.decks.append(Card(x, y)) 

    def printcard(self): 
     print(self.decks) 

n=Deck() 
n.printcard() 

は、今私は、この結果を得る:

[2 of H, 2 of D, 2 of C, 2 of S, 3 of H, 3 of D, 3 of C, 3 of S, 4 of H, 4 of D, 4 of C, 4 of S, 5 of H, 5 of D, 5 of C, 5 of S, 6 of H, 6 of D, 6 of C, 6 of S, 7 of H, 7 of D, 7 of C, 7 of S, 8 of H, 8 of D, 8 of C, 8 of S, 9 of H, 9 of D, 9 of C, 9 of S, T of H, T of D, T of C, T of S, J of H, J of D, J of C, J of S, Q of H, Q of D, Q of C, Q of S, K of H, K of D, K of C, K of S, A of H, A of D, A of C, A of S] 
+0

私は既に自分のコードを更新しました。ご協力ありがとうございました。 –

+0

今は大丈夫です。すでにデッキのリストを表示してあります。 –

+0

は新しい質問のようです。あなたの質問を編集して追加することができます(EDIT:ヘッダーを使用)? (より正確なのは、それが広範囲にあるためです) –

関連する問題