随机分牌并排序

斗地主随机分牌并排序

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())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值