下面的代码检查五张牌中的所有直杆(除了5-high,我将其作为elif添加)
def straight(values,vset):
if (max(vset) - min(vset) == 4) and numpair(values) == False and detset(values) == False and quads(values) == False:
#STRAIGHT DETECTED
Vset只是一个包含值的集合。问题是,我想不出一种方法来修改这段代码来计算一个7-card holdem手。有什么建议吗?你知道吗
当@JohnGordon的解决方案工作时,它为每个秩值重复5次是浪费的。你知道吗
一个更有效的方法是将等级从2迭代到14,并简单地使用计数器来跟踪到目前为止等级连续存在于卡中的次数,如果连续的等级不存在,则重置计数器。如果计数器达到5,则确定存在直线。考虑到Ace(此处假设其秩为14)可以被视为1,从而与2、3、4和5形成直线,您可以将14预先设置为2到14的范围以进行迭代:
我现在不知道代码是如何工作的,因为您还没有向我们展示
numpair()
、detset()
和quads()
的代码。你知道吗但是,如果我能从容不迫地工作,我会这样做:
相关问题 更多 >
编程相关推荐