斗地主随机分牌并排序
import random
def brand():
"""
产生 54 张牌 随机分成4份[17,17,17,3]
:return: 随机分成4份的值
"""
brand_1 = ('A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', '小王', '大王')
figure = ('♦', '♠', '♣', '♥')
brand = []
for i in brand_1[:-2]:
for j in figure:
brand.append(i + j)
brand.extend(brand_1[-2:])
brand = random.sample(brand, k=54)
brand_4 = []
for i in range(0, len(brand), 17):
brand_4.append(brand[i:i + 17])
return brand_4
def sort(x):
"""
排序的依据
:param x: 判断的值
:return: 值的大小
"""
if x == '小王':
return 16
elif x == '大王':
return 17
x1 = x[0:-1]
x2 = x[-1]
y1 = 0
y2 = 0
if x2 == '♠':
y2 = 0.4
elif x2 == '♥':
y2 = 0.3
elif x2 == '♣':
y2 = 0.2
elif x2 == '♦':
y2 = 0.1
if '3' <= x1 <= '9' or x1=='10':
y1 = int(x1)
elif x1 == 'J':
y1 = 11
elif x1 == 'Q':
y1 = 12
elif x1 == 'K':
y1 = 13
elif x1 == 'A':
y1 = 14
elif x1 == '2':
y1 = 15
return y1 + y2
def game_start():
"""
获取4份牌并排序
"""
brand_4 = brand()
for i in range(3):
brand_4[i].sort(key=lambda x: sort(x),reverse=True)
return brand_4
print(game_start())
768

被折叠的 条评论
为什么被折叠?



