Et en rajoutant deux lignes tu peux les utiliser dans des Set, ou en clé de dictionnaires etc :
def__hash__(self):returnself.weight
Avec ça je n'ai quasiment rien à changer dans mon algorithme pour utiliser cette classe à la place des caractères "23456789abcdef" comme je l'ai fait dans ma solution.
J'aime bien l'élégance de la chose, et le côté vraiment lisible, zéro hack dans le reste du code.
Bon, par contre je n'ai besoin que de Card.JOKER de façon explicite.
Il faut juste faire un line.replace(Card.JACK.value, Card.JOKER.value pour la seconde partie de l'exercice, à la place des a.translate(str.maketrans("TJQKA", "a0cde")), c'est plus joli.
Je perd un poil en perfs par contre : 85ms au lieu de 70ms.
Je suppose que c'est au niveau de la comparaison d'un tuple de Card par rapport à celle de deux str dans mon code initial.
Pas très sûr, mais c'est dommage...
[^] # Re: Besoin d'énumérations ordonnées
Posté par Yth (Mastodon) . En réponse au message Advent of Code 2023, day 7. Évalué à 2.
Et en rajoutant deux lignes tu peux les utiliser dans des Set, ou en clé de dictionnaires etc :
Avec ça je n'ai quasiment rien à changer dans mon algorithme pour utiliser cette classe à la place des caractères "23456789abcdef" comme je l'ai fait dans ma solution.
J'aime bien l'élégance de la chose, et le côté vraiment lisible, zéro hack dans le reste du code.
Bon, par contre je n'ai besoin que de
Card.JOKERde façon explicite.Il faut juste faire un
line.replace(Card.JACK.value, Card.JOKER.valuepour la seconde partie de l'exercice, à la place desa.translate(str.maketrans("TJQKA", "a0cde")), c'est plus joli.Je perd un poil en perfs par contre : 85ms au lieu de 70ms.
Je suppose que c'est au niveau de la comparaison d'un tuple de Card par rapport à celle de deux str dans mon code initial.
Pas très sûr, mais c'est dommage...