码迷,mamicode.com
首页 > 其他好文 > 详细

collection namedtuple

时间:2017-12-21 20:06:41      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:card   pos   its   col   self   random   cti   ini   import   

import collections
from random import choice

card = collections.namedtuple(Card,[rank,suit]) #构建一个命名元组

class FrenchDeck:
    ranks = [str(n) for n in range(2,11)] + list(JQKA)  # 创建所有纸牌数A-K
    suit = 黑桃 方块 梅花 红心.split()   # 创建不同的纸牌花色

    def __init__(self):
        self._cards = [Card(ranks,suit) for suit in self.suits for rank in self.ranks]  # 初始化整套扑克
    
    def __len__(self):
        return len(self._cards) # 获取整套牌的个数

    def __getitem__(self,position): 
        return self._cards[position]   # 获取特定纸牌

deck = FrenchDeck() # 实例化类
print(len(deck)) # 获取整套牌的数量 52
print(deck[0]) # 获取第一张牌  Card(rank=‘2‘,suit=‘黑桃‘)
choice(deck) # 随机选取其中某张牌 Card(rank=‘3‘,suit=‘梅花‘) Card(rank=‘5‘,suit=‘红心‘)

 

collection namedtuple

标签:card   pos   its   col   self   random   cti   ini   import   

原文地址:http://www.cnblogs.com/Erick-L/p/8082184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!