判断一个列表里面是否有符合要求的牌

数字 23456789TJQK
花色 DCHS
共五十二张牌,例如,牌用D3表示
题目
输入不确定个数的牌,如果有五张相同花色,且他们的数字是连续数字的牌,输出True,否则输出false

n = '23456789TJQK'
h = 'DCHS'
all_list = []
for h_t in h:
    temp = ''
    for n_t in n:
        temp += h_t+n_t
    all_list.append(temp)

def fun():
    ps = list(set(input().split()))
    ps = ''.join(sorted(ps))
    if len(ps) > 10:
        for i in range(0, len(ps), 2):
            if len(ps[i:i + 10]) == 10:
                for temp in all_list:
                    if ps[i:i+10] in temp:
                        return True
        else:
            return False
    elif len(ps) == 10:
        for temp in all_list:
            if ps in temp:
                return True
        return False
    else:
        return False
print(fun())

想到一个简单的思路,用4个数组表示4个花色
根据输入的花色进入到不同的花色数组,并且同时按照后面数字的大小来排序
之后用一个循序,依次判断是否5张相同的牌,比如第一个循环
a[1] == a[1+1] - 1 && a[2] == a[2+1] - 1 ......

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632