【问题标题】:I have my code for an assignment. I don't know understand how to fix the bug. I get a TypeError我有我的作业代码。我不知道如何修复错误。我得到一个类型错误
【发布时间】:2021-09-10 10:56:46
【问题描述】:

随机导入

类扑克牌(): def init(self,card_value,suit):

    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 =甲板() 打印(deck1.cards)


TypeError Traceback(最近一次调用最后一次) 在 72 73 ---> 74 甲板1 =甲板() 75 张打印(deck1.cards) 76

TypeError: init() 缺少 1 个必需的位置参数:'suit'

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    Deck 类的构造函数不需要suit 参数,您已经在上面定义了它。您可能想要做的是删除参数:

    def __init__(self)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-19
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 2018-10-16
      相关资源
      最近更新 更多