Python类简单上手:创建一副扑克牌

实现很简单,可以作为Python新手练习类的应用,创建的扑克牌类实现和3个功能,抽牌、洗牌、收牌(重新生成54张打乱顺序的牌)

直接上代码:

import random
class cards:
    def __init__(self):       # 生成一副54张的牌
        self.allcards = ['joker','Joker']  # 表示大王、小王
        for i in range(1,14):
            for k in range(4):
               self. allcards.append(i)   # 这里我没有区分红桃黑桃这些,留给大家尝试
    def shuffle_card(self):   # 洗牌,打乱顺序
        random.shuffle(self.allcards)      #这个函数是用来改变一个数组的顺序 
    def take_card(self,n=1):   # 抽取一定数量的牌,默认为1张
        your_card = []
        for i in range(n):
            your_card.append(self.allcards.pop())
        return your_card
    def recovery(self,Ifshuffle=True):       # 收牌,重新开始,默认洗牌
        if Ifshuffle:
            self.__init__()
            self.shuffle_card()
        else:
            self.__init__()

试试用它玩21点游戏:

# 模拟两个人玩21点游戏
card = cards()
print('原始牌:',card.allcards)
card.shuffle_card()
print('洗牌后:',card.allcards)
print('21点双人比拼,第一轮游戏')
print('you\t\t\tme')
for i in range(10):
    you = card.take_card(random.choice([2,3,]))
    me = card.take_card(random.choice([2,3,]))
    print(you,'  \t\t',me)
print('\n21点双人比拼,第二轮游戏')
card.recovery()
print('you\t\t\tme')
for i in range(10):
    you = card.take_card(random.choice([2,3,]))
    me = card.take_card(random.choice([2,3,]))
    print(you,'  \t\t',me)

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值