私はPythonの初心者です。コードを実行するとインデックスエラーが発生します。私はStackoverflowの関連する質問を見てきましたが、私はまだバグが何かを見ることができません。私はどんな反応に対しても非常に感謝しています。ありがとうございました。ここでは、コードは次のとおりです。IndexError:リストがPython 3の範囲外にある
class Card:
def __init__(self, suit = 0, rank = 2):
self.suit = suit
self.rank = rank
suit_names = ['Clubs', 'Diamonds', 'Hearts', 'Spades']
rank_names =[None,'Ace','2','3','4','5','6','7','9','10','Jack','Queen', 'King']
def __str__ (self):
return '%s of %s' % (Card.rank_names[self.rank], Card.suit_names[self.suit])
def __lt__(self,other):
t1 = self.suit, self.rank
t2 = other.suit, other.rank
return t1 < t2
class Deck:
def __init__(self):
self.cards = []
for suit in range(4):
for rank in range(1, 14):
card = Card(suit, rank)
self.cards.append(card)
def __str__(self):
res = [ ]
for card in self.cards:
res.append(str(card))
return '\n'.join(res)
deck1 = Deck()
print(deck1)
それから私は、次のエラーを得た:
Traceback (most recent call last):
File "/Users/Enze/Python/untitled/Inheritance.py", line 35, in <module>
print(deck1)
File "/Users/Enze/Python/untitled/Inheritance.py", line 30, in __str__
res.append(str(card))
File "/Users/Enze/Python/untitled/Inheritance.py", line 11, in __str__
return '%s of %s' % (Card.rank_names[self.rank], Card.suit_names[self.suit])
IndexError: list index out of range
ありがとう、ありがとうございます。 – summer
お気軽に –