我正在為學習目的編寫一個 7 張牌撲克手評估腳本。目前正在編程直線檢測。雖然我已經找到了一個可行的解決方案,但它并不是很“pythonic”,因為它會檢查它是否有 A-5 順子,然后在另一個語句中檢查其余的順子。瘸。我創建了一個可能的直道列表:# 01 = Deuce, 13 = AceSTRAIGHTS = [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) >= 5else:
1 回答

HUH函數
TA貢獻1836條經驗 獲得超4個贊
我假設你hand
也是一個整數列表
if max([len(set(hand).intersection(set(s))) for s in STRAIGHTS]) >=5
添加回答
舉報
0/150
提交
取消