#python-3.x
Вопрос:
импорт случайных
класс PlayingCard(): инициализация(self,значение карты,масть):
if value in '2345678910JQKA':
self.rank = str(card_value)
else:
print('Invalid rank!')
raise Exception('Invalid rank!')
self.rank = str(value)
if suit in '♥♦♣♠':
self.suit = suit
else:
print('Invalid suit!')
raise Exception('Invalid suit!')
def get_rank(self):
return self.rank
def get_suit(self):
return self.suit
def __repr__(self):
return self.rank " of " self.suit
классная палуба():
ranks=[2,3,4,5,6,7,8,9,10,'J','Q','K','A']
suits=['♥','♦','♣','♠']
deck_cards=[]
def __init__(self,suit):
for rank in Deck.ranks:
for suit in Deck.suits:
card=PlayingCard(rank,suit)
Deck.deck_cards.append(card)
self.cards=[]
for card in Deck.deck_cards:
if card.get_suit()==suit:
self.cards.append(card)
def shuffle_deck(self):
random.shuffle(Deck.deck_cards)
def deal_card(self,card_count):
deal_cards=[]
if card_count<=len(self.cards):
deal_cards=random.sample(self.cards,card_count)
for card in deal_cards:
self.cards.remove(card)
deal_card_str = ""
for card in deal_cards:
deal_card_str = card.__str__() ","
print(deal_card_str[:-2])
else:
print('Cannot deal ' str(card_count) ' cards. The deck only has '
str(len(self.cards)) ' cards left!')
def __str__(self):
full_deck =''
for card in Deck.deck_cards:
full_deck = card.__str__() ","
return full_deck[:-2]
палуба 1 = Палуба()
печать(1 дека.карты)
Трассировка ошибок типа (последний последний вызов) в 72 73 —> 74 дек1 = Колода() 75 печать(дек1.карты) 76
Ошибка типа: init() отсутствует 1 необходимый позиционный аргумент: «костюм»
Ответ №1:
Конструктор для колоды классов не нуждается в suit
аргументе, вы уже определили его выше. Что вы, возможно, хотели сделать, так это удалить аргумент:
def __init__(self)