@@ -36,23 +36,21 @@ def __str__(self) -> str:
3636 rank = self .hand_rank
3737 card = self .high_card
3838
39- match rank :
40- case HandRank .SCHMALTZ | HandRank .PARTIAL_STRAIGHT :
41- return f"{ rank } , { card .rank } high"
42- case (
43- HandRank .PAIR
44- | HandRank .TWO_PAIR
45- | HandRank .THREE_OF_A_KIND
46- | HandRank .FULL_HOUSE
47- | HandRank .FOUR_OF_A_KIND
48- ):
49- return f"{ rank } { card .rank } 's"
50- case HandRank .STRAIGHT :
51- return f"{ rank } , { card .rank } high"
52- case HandRank .FLUSH :
53- return f"{ rank } { card .suit } "
54- case _:
55- return f"{ rank } { card .rank } "
39+ if rank in (HandRank .SCHMALTZ , HandRank .PARTIAL_STRAIGHT ):
40+ return f"{ rank } , { card .rank } high"
41+ if rank in (
42+ HandRank .PAIR ,
43+ HandRank .TWO_PAIR ,
44+ HandRank .THREE_OF_A_KIND ,
45+ HandRank .FULL_HOUSE ,
46+ HandRank .FOUR_OF_A_KIND ,
47+ ):
48+ return f"{ rank } { card .rank } 's"
49+ if rank == HandRank .STRAIGHT :
50+ return f"{ rank } , { card .rank } high"
51+ if rank == HandRank .FLUSH :
52+ return f"{ rank } { card .suit } "
53+ return f"{ rank } { card .rank } "
5654
5755 def __lt__ (self , other : "HandEvaluation" ) -> bool :
5856 return (self .hand_rank , self .high_card .rank .value ) < (
@@ -146,7 +144,9 @@ def _check_flush(self) -> bool:
146144 def _check_straight (self ) -> bool :
147145 if (
148146 len (set (self ._ctx .sorted_ranks )) == 5
149- and self ._ctx .sorted_ranks [4 ].value - self ._ctx .sorted_ranks [0 ].value == 4
147+ and self ._ctx .sorted_ranks [4 ].value
148+ - self ._ctx .sorted_ranks [0 ].value
149+ == 4
150150 ):
151151 self .hand_rank = HandRank .STRAIGHT
152152 self .high_card = self ._ctx .rank_indexed [4 ][1 ]
@@ -163,7 +163,9 @@ def _check_three_of_a_kind(self) -> bool:
163163 if c .rank == self ._ctx .ranks_by_freq [0 ]
164164 )
165165 keep_rank = self ._ctx .ranks_by_freq [0 ]
166- self .discard_indices = [i for i , c in enumerate (self ._ctx .cards ) if c .rank != keep_rank ]
166+ self .discard_indices = [
167+ i for i , c in enumerate (self ._ctx .cards ) if c .rank != keep_rank
168+ ]
167169 return True
168170
169171 def _check_two_pair (self ) -> bool :
@@ -191,16 +193,24 @@ def _check_pair(self) -> bool:
191193 if c .rank == self ._ctx .ranks_by_freq [0 ]
192194 )
193195 keep_rank = self ._ctx .ranks_by_freq [0 ]
194- self .discard_indices = [i for i , c in enumerate (self ._ctx .cards ) if c .rank != keep_rank ]
196+ self .discard_indices = [
197+ i for i , c in enumerate (self ._ctx .cards ) if c .rank != keep_rank
198+ ]
195199 return True
196200
197201 def _check_partial_straight (self ) -> bool :
198- if self ._ctx .sorted_ranks [3 ].value - self ._ctx .sorted_ranks [0 ].value == 3 :
202+ if (
203+ self ._ctx .sorted_ranks [3 ].value - self ._ctx .sorted_ranks [0 ].value
204+ == 3
205+ ):
199206 self .hand_rank = HandRank .PARTIAL_STRAIGHT
200207 self .high_card = self ._ctx .rank_indexed [3 ][1 ]
201208 self .discard_indices = [self ._ctx .rank_indexed [4 ][0 ]]
202209 return True
203- if self ._ctx .sorted_ranks [4 ].value - self ._ctx .sorted_ranks [1 ].value == 3 :
210+ if (
211+ self ._ctx .sorted_ranks [4 ].value - self ._ctx .sorted_ranks [1 ].value
212+ == 3
213+ ):
204214 self .hand_rank = HandRank .PARTIAL_STRAIGHT
205215 self .high_card = self ._ctx .rank_indexed [4 ][1 ]
206216 self .discard_indices = [self ._ctx .rank_indexed [0 ][0 ]]
0 commit comments