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()