Reputation: 45
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
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