Skip to content

Commit 556ec0e

Browse files
committed
Improve DeckCards solution
1 parent 22ced96 commit 556ec0e

File tree

2 files changed

+15
-32
lines changed

2 files changed

+15
-32
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Created by https://www.gitignore.io/api/python
22

3+
# PyCharm
4+
**/.idea
5+
36
### Python ###
47
# Byte-compiled / optimized / DLL files
58
__pycache__/

Day1/answers/DeckCardsSC.py

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -23,62 +23,42 @@
2323
"K": "King",
2424
}
2525

26+
2627
class Card:
2728
def __init__(self, suit, value):
2829
self.suit = suit
2930
self.value = value
3031

31-
def getSuit(self):
32+
def get_suit(self):
3233
return self.suit
3334

34-
def getValue(self):
35+
def get_value(self):
3536
return self.value
3637

3738
def __str__(self):
3839
return values.get(self.value) + " of " + suits.get(self.suit)
3940

41+
4042
class Deck:
4143
def __init__(self):
4244
self.deck = []
4345
self.dealtCards = []
4446

45-
for s in range(4):
46-
suit, value = "", ""
47-
if s == 0:
48-
suit = "H"
49-
elif s == 1:
50-
suit = "S"
51-
elif s == 2:
52-
suit = "C"
53-
elif s == 3:
54-
suit = "D"
55-
for v in range(1, 14):
56-
if v == 1:
57-
value = "A"
58-
elif v <= 10:
59-
value = str(v)
60-
elif v == 11:
61-
value = "J"
62-
elif v == 12:
63-
value = "Q"
64-
elif v == 13:
65-
value = "K"
47+
for suit in ['H', 'S', 'D', 'C']:
48+
for value in ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']:
6649
self.deck.append(Card(suit, value))
6750

68-
def dealCard(self):
69-
picked = self.deck[random.randint(0, len(self.deck)) - 1]
70-
print(picked.value, picked.suit)
71-
self.dealtCards.append(picked)
72-
self.deck.remove(picked)
51+
def deal_card(self):
52+
self.dealtCards.append(self.deck.pop(random.randint(0, len(self.deck)) - 1))
7353
return self.dealtCards[-1]
7454

75-
def numCardsRemaining(self):
55+
def num_remaining(self):
7656
return len(self.deck)
7757

78-
deck = Deck()
7958

59+
deck = Deck()
8060
for card in deck.deck:
8161
print(card)
62+
8263
while deck.deck:
83-
print(deck.dealCard())
84-
print(deck.deck)
64+
print(deck.deal_card())

0 commit comments

Comments
 (0)