程序主要分为以下几部分:
1.发牌
2.计分
3.比较
from random import sample
def get_card(players,cards):
result = []
for i in players:
card = sample(cards,3)
for j in card:
cards.remove(j)
result.append({"name":i,"poker":card})
return result
def calculate(_p_map,card_lst):
point_lst = list(map(lambda x: p_map[x],card_lst))
same_color = len(set([c_l[:2] for c_l in card_lst])) == 1 #同花色
continuity = sorted(point_lst) == [i for i in range(min(point_lst),max(point_lst)+1)] or set(point_lst) == {14, 2, 3} #连续即顺子
repeat = len(set(point_lst)) #数字重复
if not same_color and not continuity and repeat == 3:
return sum(point_lst), "单张"
if not same_color and repeat == 2:
w = [i for i in point_lst if point_lst.count(i) == 2][0]
single = [i for i