anonymouse69
anonymouse69

Reputation: 45

Error in inheriting from parent class PYTHON

 class Deck:
    def __init__(self):
        self.suits = ['S', 'C', 'H', 'D']
        self.nums = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
        self.deck = []

    def make_deck(self):
        self.deck = [f"{j}{i}" for j in self.nums for i in self.suits]
        return self.deck

    def pop_deck(self):
        for i in range(3):
            self.deck.pop(0)  # gah don't do pop(i), do pop(1)
        return self.deck

full_deck = Deck()
print(full_deck.make_deck())
print(full_deck.pop_deck())


class CardDistribution(Deck):
    def updated_deck(self):
        return self.deck


d = CardDistribution
print(d.updated_deck())

Traceback (most recent call last): File "/Users/fatimah/PycharmProjects/classes/blackjack.py", line 37, in print(d.updated_deck()) TypeError: updated_deck() missing 1 required positional argument: 'self'

Upvotes: 1

Views: 58

Answers (1)

Dead Guy
Dead Guy

Reputation: 57

On-Line 26, You forgot to add () when defining the object. Updated Code will be:-

class Deck:
    def __init__(self):
        self.suits = ['S', 'C', 'H', 'D']
        self.nums = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
        self.deck = []

    def make_deck(self):
        self.deck = [f"{j}{i}" for j in self.nums for i in self.suits]
        return self.deck

    def pop_deck(self):
        for i in range(3):
            self.deck.pop(0)  # gah don't do pop(i), do pop(1)
        return self.deck

full_deck = Deck()
print(full_deck.make_deck())
print(full_deck.pop_deck())


class CardDistribution(Deck):
    def updated_deck(self):
        return self.deck


d = CardDistribution()
print(d.updated_deck())

Upvotes: 1

Related Questions