python-扑克牌

2018-11-30  本文已影响0人  农村高富帅

前言

接下来项目中需要用到python,基础看了几日,下午实现了一个简单的demo,扑克牌模型,记录一哈。

开始

# namedtuple是继承自tuple的子类。namedtuple创建一个和tuple类似的对象,而且对象拥有可访问的属性。
# 一般情况下创建只包含少量属性的类的时候可以通过这种方式,简单方便
# 创建一个 card 类,包含rank(大小)和suit(花色)属性
Card = collections.namedtuple('Card', ['rank', 'suit'])
class PokerCard(object):
    # 列表生成式,牌大小
    ranks = list(str(n) for n in range(2,11)) + ['J','Q','K','A']
    # 牌花色
    suits = ['♥','♦','♠','♣']

    def __init__(self):
        # 列表生成式
        # 创建对象时自动赋值_cards
        self._cards = [Card(rank,suit) for suit in self.suits for rank in self.ranks]

    def __len__(self):
        return len(self._cards)
    
    def __getitem__(self,postion):
        return self._cards[postion]

使用(测试)

from gzm import PokerCard
deck = PokerCard.PokerCard()
print(len(deck))
deck = PokerCard.PokerCard()
cards = list(card for card in deck)
print('所有扑克牌:')
for card in cards:
    print(card)
image.png
from random import choice

deck = PokerCard.PokerCard()
print('随机抽取四次:')
for n in range(0,4):
    card = choice(deck)
    print(card)

结束

上一篇 下一篇

猜你喜欢

热点阅读