抽取5张扑克,判断是否为顺子

扑克牌顺子判断

  • 抽象扑克牌中王为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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目描述: 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为1...
    小刘一定要努力阅读 6,852评论 0 0
  • 题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_).....
    zhouwaiqiang阅读 3,717评论 0 1
  • 题目描述 [扑克牌顺子] LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本...
    一只可爱的柠檬树阅读 2,962评论 0 0
  • 《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:字符串 题目描述: LL今天心情特别好,因为他去买了...
    ElricTang阅读 1,709评论 0 0
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 13,585评论 0 11