Я следую за довольно хорошей книгой python, и она учит вас, как создать симуляцию для некоторых карточных игр. Как вы можете видеть ниже, я создал класс «Карточка», для индексации всех возможных комбинаций карт в колоде. Затем я создал класс «Палуба», который делает колоду из комбинаций карт в «Карте». Мой вопрос в том, что я пытаюсь напечатать колоду, и каждый раз она дает мне «Король пик». Если я изменю диапазоны в петлях, чтобы создать колоду, это даст мне что-то еще. Я что-то делаю с диапазонами или что-то не так с функциями класса? Во всяком случае, я надеюсь, что код вам интересен. Любая помощь будет оценена по достоинству. Благодарю.Карточка игры на палубе
class Card:
def __init__(self, suit = 0, rank = 2):
Card.suit = suit
Card.rank = rank
#Two class attributes that are helpful in determining suit/rank
ranklist = ['narf', 'Ace', 'One', 'Two', 'Three', 'Four', 'Five' \
'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Jack', 'Queen', 'King']
suitlist = ['Clubs', 'Diamonds', 'Hearts', 'Spades']
def __repr__(self):
return (self.ranklist[self.rank] + " of " + self.suitlist[self.suit])
class Deck:
def __init__(self):
self.cards = []
for suit in range(4):
for rank in range(1,14):
self.cards.append(Card(suit,rank))
def printDeck(self):
for card in self.cards:
print(card)
def __repr__(self):
s = ""
for i in range(len(self.cards)):
s = s + " " + str(self.cards[i]) + "\n"
return s
deck = Deck()
print(deck)
Это работает очень хорошо, очень ценится. – srhoades28