扑克牌学习

扑克牌可以洗牌

扑克牌有花色和数字

四个人的版本

每个人13张牌

对牌可以实现自动排序(先按照花色,再按照数字)

import random
def gen_pocker(n):
    """生成初始扑克牌并洗牌"""    
    pocker=[i for i in range(n)]
    for i in range(100):
        p1=random.randint(0,n-1)
        p2=random.randint(0,n-1)
        pocker[p1],pocker[p2]= pocker[p2],pocker[p1]
    return pocker
def getColor(x):
    """获取牌的花色"""
    color=["♣ ","♦ ","♥ ","♠ "]
    c = x//13
    if c<0 or c>=4:
        return "ERROR!"
    return color[c]
def getValue(x):
    """获取牌的牌面大小"""
    value=x % 13 + 1
    if value==1:
        return 'A'
    elif value>=2 and value<=10:
        return str(value)
    elif value==11:
        return 'J'
    elif value==12:
        return 'Q'
    elif value==13:
        return 'K'
def getPuk(x):
    return getColor(x)+getValue(x)
pocker= gen_pocker(52)
(a,b,c,d)=([],[],[],[])
for x in range(13):
    p=x*4
    a.append(pocker[p])
    b.append(pocker[p+1])
    c.append(pocker[p+2])
    d.append(pocker[p+3])
# 排序,先按"♣ ","♦ ","♥ ","♠ ",再按数字顺序
a=sorted(a)
b=sorted(b)
c=sorted(c)
d=sorted(d)
a=[getPuk(x) for x in a]
b=[getPuk(x) for x in b]
c=[getPuk(x) for x in c]
d=[getPuk(x) for x in d]
print("牌手1:" + ' '.join(a))
print("牌手2:" + ' '.join(b))
print("牌手3:" + ' '.join(c))
print("牌手4:" + ' '.join(d))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值