PYTHON 斗地主发牌 (简易版)

利用方法:
1. random.randint( ) 随机抽取数字 方法
2.random.sample((抽取范围的参数),(抽取的个数)) 返回的是列表 所以用[0]可以输出里面的元素

import random

# 1. 创建牌
# 花色
color = ["\u2660", "\u2663", "\u2665", "\u2666"]
# 数字
number = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
# 大小鬼
JOKER = ["KING", "QUEEN"]
# 空列表存放牌
cards = []
for i in color:
    for j in number:
        # 字符串拼接
        cards.append(i + j)
# 加入大小鬼
cards.extend(JOKER)


# 2. 洗牌的方法(参数:牌/次数(默认=1))
def fy_shuffle(s, n=1):
    for i in range(n):
        target = list(s)
        res = []
        while target:
            k = random.randint(0, len(target) - 1)
            res.append(target.pop(k))
    return res


# 3. 发牌
def del_cards():
    # 3.1 确定玩家
    a = input("请输入玩家1号的名字:")
    b = input("请输入玩家2号的名字:")
    c = input("请输入玩家3号的名字:")
    # 存放牌
    r = {}
    r[a],r[b],r[c] = [],[],[]
    # 3.2 洗牌
    new_cards = fy_shuffle(cards,3)
    # 3.3 发牌
    for i in range(17):
        r[a].append(new_cards.pop())
        r[b].append(new_cards.pop())
        r[c].append(new_cards.pop())

    # 3.4 选地主
    d = random.sample((a,b,c),1)[0]
    print(f"这一轮的地主是:")
    r[d].extend((new_cards.pop(),new_cards.pop(),new_cards.pop()))

    print(f"[{a}]这一轮的牌是:[{' '.join(r[a])}]\n")
    print(f"[{b}]这一轮的牌是:[{' '.join(r[b])}]\n")
    print(f"[{c}]这一轮的牌是:[{' '.join(r[c])}]\n")

# 4.启动游戏
del_cards()

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值