Я программирую 7-карточный скрипт для изучения покерных рук в учебных целях.В настоящее время программируем прямое обнаружение.
Хотя я уже нашел рабочее решение, оно не очень «питоническое», потому что оно проверяет, есть ли у него прямая A-5, но в другом утверждении оно проверяет остальную частьнатуралы.Хромой.
Я создал список возможных стритов:
# 01 = Deuce, 13 = Ace
STRAIGHTS = [sorted([13, *range(1,14)][n:n+5]) for n in range(0,10)]
Это включает в себя надоедливый стрит A-5.
Теперь, что я пытаюсь сделатьПересечь мою руку с этими списками и посмотреть, если длина этого пересечения больше, чем 5.
Если я сделаю это:
if len([item for item in hand if item in [13,1,2,3,4]) >= 5
Это работает как шарм.Но если я щелкну список STRAIGHTS в жестко закодированном списке, это не сработает.Почему это так?
if len([item for item in hand if item in STRAIGHTS) >= 5
else:
Это мой первый опубликованный вопрос, поэтому чувствую себя комфортно, давая мне обратную связь, если я был достаточно ясен и т. Д.