Do dictionary mapping the denominations to their numeric value.
pyTony
pyMod
6,299 posts since Apr 2010
Reputation Points: 879
Solved Threads: 984
Skill Endorsements: 26
Here is another approach ...
'''card_deck_5.py
create a deck of cards, shuffle and draw a hand of five cards
suit: club=C, diamond=D, heart=H spade=S
rank: ace=A, 10=T, jack=J, queen=Q, king=K, numbers=2..9
ace of spade would be AS, 8 of heart would be 8H and so on ...
'''
import random
def create_deck():
"""
create a full deck of cards as a list of codes
"""
ranks = "A23456789TJQK"
suits = "CDHS"
deck = [rank + suit for rank in ranks for suit in suits]
return deck
def shuffle_deck(deck):
random.shuffle(deck)
return deck
deck = create_deck()
shuff = shuffle_deck(deck)
# pull five cards and show
card5 = shuff[:5]
print(card5)
print('-'*30)
# sorted by rank
print(sorted(card5))
# sorted by suit
print(sorted(card5, key=lambda x: x[1]))
'''possible result ...
['4S', '2D', '2H', 'QS', '4D']
------------------------------
['2D', '2H', '4D', '4S', 'QS']
['2D', '4D', '2H', '4S', 'QS']
'''
vegaseat
DaniWeb's Hypocrite
6,464 posts since Oct 2004
Reputation Points: 1,447
Solved Threads: 1,607
Skill Endorsements: 34
Question Answered as of 6 Months Ago by
vegaseat
and
pyTony