数字 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 ......