How to write a function for highest denomination of any card in the hand.The denominations from lowest to highest are 2, 3,4,5,6,7,8,9,10,'jack,''queen','king','ace'.For example,
highestDenomination({(6,'club'),(6,'heart'),('queen','heart'),('queen','diamond'),(2,'heart')})denotes‘queen’.

3
Contributors
2
Replies
5
Views
5 Years
Discussion Span
Last Post by vegaseat

Do dictionary mapping the denominations to their numeric value.

Here is another approach ...

``````'''card_deck_5.py
create a deck of cards, shuffle and draw a hand of five cards
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']
'''
``````

Edited by vegaseat