随机分发三张纸牌

源代码

# 牌的种类:黑桃,梅花,方块,红桃,2-10,JQKA
# 首先要创建一个牌池
import random


def creat_kind_pool():  # 产生一类牌池
    pool_list = list()
    for i in range(2, 11):  # 添加数字
        pool_list.append(str(i))
    pool_list.extend(['J', 'Q', 'K', 'A'])
    return pool_list


def creat_pool():  # 返回完整牌池
    list1 = creat_kind_pool()
    list2 = creat_kind_pool()
    list3 = creat_kind_pool()
    list4 = creat_kind_pool()
    card_pool = {"黑桃": list1, "梅花": list2, "方块": list3, "红桃": list4}
    return card_pool


def rand_cs_pool(pool):  # 在牌池中随机选择一张牌
    count = 0
    pool_list = list()
    for i in range(3):
        color = random.choice(list(pool))  # 在键中选择花色
        num = random.choice(pool[color])  # 通过键在值中选择字母
        pool[color].remove(num)  # 删除花色中的字母
        pool_list.append([color, num])
        count += 1
    return pool_list


def send_card(pool):  # 传入牌池,发牌:
    gamer_pool = dict()  # 玩家池,用于显示玩家姓名以及对应的卡牌,此处讨论玩家名字都不一样的情况
    while (True):
        name = input("请输入玩家的姓名,输入#结束:")
        if name == '#':
            break
        gamer_pool[name] = rand_cs_pool(pool)
        print(f"{name}的牌是:{gamer_pool[name]}")
    print(gamer_pool)  # 打印发牌日志


pool = creat_pool()
send_card(pool)  # 发牌
print(pool)  # 打印剩余的牌库

运行结果

运行截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值