2021-09-26

一个简单的发牌程序

“”"
定义4种花色 顺序是 黑桃、红桃、方块、梅花
1、通过键盘中的输入法,调出 “特殊符号”,输入 ♠♥♦♣
2、也可以通过构造函数 反查’黑桃’ ord(“♠”)=8924
3、通过字符构造函数 [chr(x) for x in range(8924,8924+4)] 获得4种花色
“”"
from random import shuffle

#生成4种花色♠♥♦♣
p4_style=[chr(x) for x in range(9824,9824+4)]

#单色牌13张
p13=[ ‘A’, ‘K’, ‘Q’, ‘J’, ‘10’, ‘9’, ‘8’, ‘7’, ‘6’, ‘5’, ‘4’, ‘3’,‘2’]

#配上4种花色,构造52张牌
p52=[x+y for x in p4_style for y in p13]

#大小王分别是sun,moon
p2=[‘sun’,‘moon’]

#全部牌54张
p54=p2+p52

#54张牌混乱,随机,相当于洗牌
shuffle(p54)

#定义4个玩家,初始化列表为空
player1=[]
player2=[]
player3=[]
player4=[]

#因为54张牌不能均等地分配给4个玩家,所以要忽略在循环中p54已经为空,出现“IndexError: pop from empty list”错误。

while p54: #只要全部的牌没有发完。
try:
player1.append(p54.pop(0))
player2.append(p54.pop(0))
player3.append(p54.pop(0))
player4.append(p54.pop(0))
except IndexError:
pass

#输出4个玩家手中的牌
print(’\n第1 玩家’,player1)
print(’\n第2 玩家’,player2)
print(’\n第3 玩家’,player3)
print(’\n第4 玩家’,player4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值