扑克牌顺子判断
- 抽象扑克牌中王为0,A为1,2到K为2-13
- 一副扑克存在2个王,其余每个数字存在4张
- 大小王是可以替代任意数字的
list=[0,1,0,4,1]
list1 = []
k = 0
for i in range(5): # 用来判断大小王数量
if list[i] == 0:
k += 1
# list.pop()
elif list[i] != 0:
list1.append(list[i])
list2 = set(list1)
print(k,list2)
if len(list2) == 3: # 判断是否存在重复扑克,不存在重复才有可能顺子
if k==0:
if max(list2) - min(list2) == 4:
print("是顺子")
else:
print("不是顺子")
elif k==1:
if max(list2) - min(list2) == 4 or max(list2) - min(list2) == 3:
print("是顺子")
else:
print("不是顺子")
elif k==2:
if max(list2) - min(list2) == 4 or max(list2) - min(list2) == 3 or max(list2) - min(list2) == 2:
print("是顺子")
else:
print("不是顺子")
elif k >2:
print("erro")
else:
print("erro")
思路:
- 不存在王的时候,最大减去最小的肯定为4,不为4就不是顺子
- 存在一个王的时候,最大减去最小可以为4,也可以为3
- 存在2个王的时候,最大减去最小可以为4,也可以为3,也可以为2