Skip to content

Comments

More consistent way to get suit value and suits length #22

Closed
ricefryegg wants to merge 1 commit intofluentpython:masterfrom
ricefryegg:frenchdeck
Closed

More consistent way to get suit value and suits length #22
ricefryegg wants to merge 1 commit intofluentpython:masterfrom
ricefryegg:frenchdeck

Conversation

@ricefryegg
Copy link

Change from using different way to get suit value than rank_value

suit_values = dict(spades=3, hearts=2, diamonds=1, clubs=0)

def spades_high(card):
    rank_value = FrenchDeck.ranks.index(card.rank)
    return rank_value * len(suit_values) + suit_values[card.suit]

To be more consistent. Also we can get suit_values from existing class variable FrenchDeck.suits.

def spades_high(card):
    rank_value = FrenchDeck.ranks.index(card.rank)
    suit_value = FrenchDeck.suits.index(card.suit)
    return rank_value * len(FrenchDeck.suits) + suit_value

@Florimond
Copy link

Florimond commented Aug 26, 2022

Also, I may need glasses, but in the listing page 5, the order of the suits is not the same as the order in suit_values on page 7.

@ramalho
Copy link
Member

ramalho commented Apr 14, 2025

@ricefryegg thanks for your suggestion. The order of the suits is intentionally different, that's why we can't reuse the class attribute as you suggested.

@ramalho ramalho closed this Apr 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants