从一副扑克中随机抽出5张牌,2-10代表相应数字,A代表1,J Q K代表11,12,13,大小王代表任何数字,写一个函数判断这5张牌是否是顺子
exits = ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'J', 'Q', 'K', 'S', 'P'],S、P代表大王小王
ipt = '23Q45'
ipt1 = '31S45'
ipt2 = '13456'
def is_arithmetic_progression(prog):
_len = len(prog)
for i in range(0, _len - 2):
if prog[i + 1] - prog[i] != prog[i + 2] - prog[i + 1]:
return False
return True
def check_str(ipt_str):
sp1 = {'J': '10', 'A': '1', 'Q': '11', 'K': '12', 'S': '0', 'P': '0'}
trs = list()
for cr in ipt_str:
if cr in sp1.keys():
trs.append(int(sp1[cr]))
else:
trs.append(int(cr))
if 0 in trs:
trs.remove(0)
trs.sort()
result = is_arithmetic_progression(trs)
if result:
print('你的牌是顺子')
else:
print('你的牌不是顺子')
check_str(ipt1)